Вниз
Скачать: 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.031 c
3-1161114857
_Ламер_
2006-10-17 23:54
2006.12.31
dll - не признаёт БД


15-1165407891
BiN
2006-12-06 15:24
2006.12.31
Новогодний маскарад IT-компаниях.


2-1165771806
FIL-23
2006-12-10 20:30
2006.12.31
запуск из одной процедуры другой процедуры


2-1166128855
Кролик
2006-12-14 23:40
2006.12.31
Поиск по dll


15-1165495853
sergey888
2006-12-07 15:50
2006.12.31
Сегодня побит температурный рекорд




   Наверх