Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.04;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
14-11430
vopros
2002-10-15 12:17
2002.11.04
У меня вопрос


3-11054
Explorer
2002-10-11 14:49
2002.11.04
Select


14-11457
premium
2002-10-15 20:40
2002.11.04
Кто знает интересные рецепты коктейлей?


1-11260
Fog
2002-10-22 18:30
2002.11.04
ProgressBar.StepIt


14-11404
FLiz
2002-10-14 11:39
2002.11.04
При вставки из буфера вместо рус. букв знаки вопроса