Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение размеров формы до ее показа. Странность. [D7, WinXP]


DVM ©   (2006-11-13 18:18:00) 

Создаю форму в рунтайме.

Перед ее показом хочу подкорректировать ее положение и размеры, чтобы отобразить на втором мониторе.

Если Left < разрешение перевого монитора, то все ок.
 form.Left := 128;
 form.Show;
Если нет, то форма игнорирует применение размера.
 form.Left := 1280;
 form.Show;
Если поменять так:
 form.Show;
 form.Left := 1280;
то все ок.

Как мне все таки поменять размер формы до ее показа?


DVM   (2006-11-14 11:11:00) [1]

Вобщем после экспериментов выяснил следующее. Если размеры/положение формы таковы, что она не влазит на экран, то после Show; неправильные координаты просто обнуляются. Скажем, если до Show координаты были Left = 1280 при разрешении 1280*1024, то после Show Left станет 0.

Откуда растут ноги у этого явления я так и не нашел.
Сделал так:

procedure TMyForm.Show;
var
 L, T, W, H: integer;
begin
 L := Left; T := Top; W := Width; H := Height;
 inherited;
 Left := L; Top := T; Width := W; Height := H;
end;

Так работает.


DVM   (2006-11-13 18:30:00) [2]


> position := poDesigned;

Не помогает. Дело в том может еще, что форму я создаю, не имя ее dfm файла (мой вопрос об этом чуть ниже).


KilkennyCat   (2006-11-13 18:28:00) [3]

position := poDesigned;


DVM   (2006-11-13 18:25:00) [4]


> KilkennyCat ©   (13.11.06 18:19) [1]

Не совсем понял. Что за свойство?


KilkennyCat   (2006-11-13 18:19:00) [5]

стиль формы в дезижн перевести


Наверх

Титульная страница Поиск, карта сайта Написать письмо