![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение размеров формы до ее показа. Странность. [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]стиль формы в дезижн перевести