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

Изменение размеров формы до ее показа. Странность.   Найти похожие ветки 

← →
DVM ©   (2006-11-13 18:18) [0]

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

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

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

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


← →
KilkennyCat ©   (2006-11-13 18:19) [1]

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


← →
DVM ©   (2006-11-13 18:25) [2]


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

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


← →
KilkennyCat ©   (2006-11-13 18:28) [3]

position := poDesigned;


← →
DVM ©   (2006-11-13 18:30) [4]


> position := poDesigned;

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


← →
DVM ©   (2006-11-14 11:11) [5]

Вобщем после экспериментов выяснил следующее. Если размеры/положение формы таковы, что она не влазит на экран, то после 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;

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



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

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



Память: 0.46 MB
Время: 0.028 c
15-1165503464
Kolan
2006-12-07 17:57
2006.12.31
Что делать с паттернами которые реализованны в BDS только для C#?


5-1146130114
denison
2006-04-27 13:28
2006.12.31
Circular Reference


15-1166009415
DVM
2006-12-13 14:30
2006.12.31
2 видеокарты с двумя выходами = 4 монитора реально?


15-1165847798
Yulia M
2006-12-11 17:36
2006.12.31
Огромное несчастье!


2-1165403972
DelphiLexx
2006-12-06 14:19
2006.12.31
Commit




   Наверх