Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
Внизi need help ... дочерные окна Найти похожие ветки
← →
:) (2002-10-24 12:09) [0]допустим есть процедура кнопки которая создаёт дочерное окно внутрях главного окна
procedure TForm1.SpeedButton1Click(Sender: TObject);
var NewForm: TForm;
begin
NewForm := TForm.Create(Form1);
NewForm.Parent := TWinControl(Form1);
NewForm.Visible := True;
end;
Как перехватывать события у этого окна ?
допустим как сделать так, что бы при получении этим окном фокуса, оно вызывало какую нибудь процедуру с нужными параметрами ?
... к примеру myProcedure(Индекс_этого_окна, "focus")
чё нить в этом роде ... и как оращаться с свойствам и методам этого окна ?
← →
Игорь Шевченко (2002-10-24 12:13) [1]Эта...книжки читать...Пачеко, Тейксейра - там как раз этот случай описан
← →
:) (2002-10-24 12:15) [2]спасибо за совет, но некогда :))
что их надо читать я и сам бы мог догадаться, мне ответ на мой вопрос надобен
← →
Игорь Шевченко (2002-10-24 12:21) [3]:) (24.10.02 12:15)
Всем некогда :-)
unit Applet1Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, StdCtrls;
type
TfAppletMain = class(TForm)
Label1: TLabel;
ListView1: TListView;
private
FTempParent : TWinControl;
protected
procedure CreateParams (var Params : TCreateParams); override;
procedure Loaded; override;
public
constructor CreateParented (AOwner : TComponent; AParent : TWinControl);
end;
var
fAppletMain: TfAppletMain;
function CreateForm (AParent : TWinControl) : TCustomForm; stdcall;
procedure InitDll (AAppHandle : THandle); stdcall;
procedure ExitDll;
implementation
{$R *.DFM}
function CreateForm (AParent : TWinControl) : TCustomForm;
begin
fAppletMain := TfAppletMain.CreateParented (Application, AParent);
Result := fAppletMain;
Result.Show();
// Result.BringToFront();
end;
procedure InitDll (AAppHandle : THandle);
begin
Application.Handle := AAppHandle;
end;
procedure ExitDll;
begin
if Assigned(fAppletMain) then
fAppletMain.Release();
end;
{ TfAppletMain }
procedure TfAppletMain.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := Params.Style OR WS_CHILD;
end;
constructor TfAppletMain.CreateParented(AOwner: TComponent;
AParent: TWinControl);
begin
FTempParent := AParent;
inherited Create (AOwner);
end;
procedure TfAppletMain.Loaded;
begin
inherited;
Align := alClient;
BorderStyle := bsNone;
BorderIcons := [];
Parent := FTempParent;
Position := poDefault;
end;
end.
Разбирайся
← →
:) (2002-10-24 12:24) [4]ооо .. намутил маньяк :) ... бум разбираться чё тут :) ... спасибо
← →
Игорь Шевченко (2002-10-24 12:39) [5]Ключевые слова: CreateParams, Loaded, CreateParented. Эта форма встраивается, как дочерняя, в другую форму. В качестве Parent"а очень удобно указывать панель. Я делал это для имитации Microsoft Management Console, где в зависимости от выбранного узла в TreeView слева, справа открывается нужная форма.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c