Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Основная";
Текущий архив: 2003.11.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
8-79070
JTAG
2003-07-28 13:39
2003.11.24
Преобразование текста в набор пикселов.


6-79095
LVitaliy
2003-09-30 08:40
2003.11.24
CreateMailslot


1-78917
Chuha
2003-11-12 15:19
2003.11.24
Архивы


14-79133
xGhost
2003-11-01 10:12
2003.11.24
Давайте поговорим о разработки плагинов


1-79007
Balkon
2003-11-14 11:08
2003.11.24
Как отключить





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский