Главная страница
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.015 c
14-11401
zzet
2002-10-12 23:39
2002.11.04
Не было меня в той хате, куда закрыли этого кадра..


1-11244
pirat
2002-10-25 14:37
2002.11.04
Про бинарники делфи


6-11376
Beglec
2002-08-22 04:09
2002.11.04
Прослушка портов в Windows Xp


1-11224
Weare
2002-10-24 17:43
2002.11.04
Не работает печать


4-11556
@Ujin
2002-09-04 21:07
2002.11.04
Как программно изменить частоту развертки монитора?