Вниз
Скачать: CL | DM;

Как вернуть дочернее окно в начало координат клиентской области?   Найти похожие ветки 

 
Aleksandr ©   (2003-11-14 13:02) [0]

Заколебала меня такая ерунда - при каждом создании дочерних окон окно MDI сдвигает их все дальше вправо-вниз. Как можно задать, чтобы они создавались и оставались в начале координат клиентской области родительской формы? пытался перекрыть CreateParams, задавая туда Х и Y на 1,1, не помогло. Соответветственно, обычное присвоение Left, Top в FormShow тоже не возымело эффекта.


 
Eugene1501 ©   (2003-11-14 13:12) [1]

Лучший подход в такой ситуации по моему мнению запоминать координаты и размер окна при закрытии и восстанавлвать сохраненные параметры при открытии.


 
Aleksandr ©   (2003-11-14 13:41) [2]

Дык елки-палки, это само собой. Только вот толку от этого никакого, потому что при трассировке она уверенно показывает, что Top:=1 = 1 Left:=1 = 1, а вот при показе формы она оказывается сдвинутой нафиг.


 
Eugene1501 ©   (2003-11-14 14:33) [3]

Устанавливай координаты окна на OnShow.


 
Aleksandr ©   (2003-11-14 14:48) [4]

Еще раз прочтите мой текст:

>Соответветственно, обычное присвоение Left, Top в FormShow тоже >не возымело эффекта.


 
Игорь Шевченко ©   (2003-11-14 15:29) [5]

Например, так:

procedure SetMDIChildBestFitPosition (AForm : TCustomForm);
var
m_offSet : longint;
ClientArea : TRect;
I : Integer;
begin
m_offSet := GetSystemMetrics(SM_CYCAPTION);
GetWindowRect (Application.MainForm.ClientHandle, ClientArea);
I := Application.MainForm.MDIChildCount;
while I > 9 do
dec(I,10);
with AForm do begin
left:= I*m_offSet;
top := I*m_offSet;
width := ClientArea.right - ClientArea.left - left - m_offSet;
height:= ClientArea.bottom - ClientArea.top - top - m_offSet;
end;
end;

constructor TfAbstractChild.Create(AOwner: TComponent);
begin
inherited;
SetMDIChildBestFitPosition(Self);
end;



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

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



Память: 0.46 MB
Время: 0.014 c
14-79169
slivka
2003-10-31 11:28
2003.11.24
подскажите пожалуста,


3-78785
GIL
2003-11-05 14:37
2003.11.24
QuickReport


11-78869
savva
2003-03-11 15:26
2003.11.24
object и interface


3-78805
Peter
2003-11-05 10:32
2003.11.24
InterBase


14-79121
Слэш2
2003-11-01 11:34
2003.11.24
Где в инете значки есть на кнопки?




   Наверх