Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
6-11371
_sMile
2002-09-05 18:10
2002.11.04
InternetCheckConnection


3-11098
cd1
2002-10-16 02:15
2002.11.04
BD


4-11543
raiks
2002-09-22 11:55
2002.11.04
Подавить звук, производимый системой при нажатии на Enter в TEdit


1-11318
nickolayLI
2002-10-24 00:19
2002.11.04
DrawGrid


7-11504
Arkan
2002-07-07 10:35
2002.11.04
Модем





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский