Главная страница
    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.014 c
4-79230
Эдуард
2003-09-27 15:46
2003.11.24
Монтировка/демонтировка subst-дисков (связанных с папками).


14-79128
DimChan
2003-11-01 09:52
2003.11.24
СРОЧНО НужнА ПомоЩь


1-78902
knstantun
2003-11-12 12:05
2003.11.24
формат DXF


1-79008
Soi
2003-11-14 06:57
2003.11.24
Работа с массивами


3-78844
Kinder
2003-10-29 19:53
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский