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

Вниз

Дочернее окно и его координаты   Найти похожие ветки 

 
olookin ©   (2004-01-29 17:10) [0]

Не могу назначить нужную координату дочернего окна. Последовательность действия такова:
1. Открываю окно, делаю его дочерним относительно главной формы

SetParented(FileWndCol[curcol],EDIPbase);
//через эту процедуру
procedure SetParented(ChildWnd,ParentWnd: TForm);
begin
SetWindowLong(ChildWnd.Handle,GWL_HINSTANCE,ParentWnd.Handle);
SetParent(ChildWnd.Handle,ParentWnd.Handle);
end;

Затем назначаю ей координаты
FileWndCol[curcol].SetCoordinates(curfile);
//через эту процедуру
procedure TFileWindowCol.SetCoordinates(Index: integer);
begin
//это для примера - в результате форма появляется в самом верху главной формы
Top:=0;
end;

И показываю это окно - оно там где надо
FileWndCol[curcol].Show;

Затем закрываю окно. Открываю его снова - при этом для этого окна вызываются SetParented и SetCoordinates. И затем я снова назначаю Top:=0. Но окно оказывается ниже, чем надо. Вот в этом то и вопрос.

Заранее спасибо.


 
Игорь Шевченко ©   (2004-01-29 17:30) [1]


type
TfChild = class(TForm)
protected
procedure CreateParams (var Params : TCreateParams); override;
....
end;

procedure Tf.CreateParams (var Params : TCreateParams);
begin
inherited;
Params.Style := Params.Style or WS_CHILD;
end;




Страницы: 1 вся ветка

Текущий архив: 2004.02.10;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.018 c
6-29502
smit_
2003-12-07 23:51
2004.02.10
Как определить входящий звонок на модем?


1-29431
Anthony Fox
2004-01-31 10:06
2004.02.10
Вопрос насчет иконки в SystemTray и Explorer


4-29670
mRodion
2003-12-03 12:00
2004.02.10
Как определить, что окно стало активным по щелчку мыши?


1-29380
SGU_
2004-01-29 05:51
2004.02.10
Закрытие процесса EXCEL


1-29305
Sam Stone
2004-01-28 11:54
2004.02.10
Dll ка