Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-11145
DiGiTaL
2002-10-24 10:59
2002.11.04
Как грамотно проверить наличие Word а на компьтере?


1-11184
kull
2002-10-24 16:42
2002.11.04
Как убрать нулевые символы?


1-11296
Anatoly P
2002-10-23 15:11
2002.11.04
TFileStream и TMemoryStream


14-11461
Феликс
2002-09-25 21:39
2002.11.04
Предлагаю поделиться информацие о хорошей литературе


3-11062
User_OKA
2002-10-14 12:23
2002.11.04
БД Foxpro - как открыть




   Наверх