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

Как сделать что бы форма меняла размеры проаорционально?   Найти похожие ветки 

← →
DR0N ©   (2006-02-26 18:05) [0]

сабж


← →
Desdechado ©   (2006-02-26 18:10) [1]

> проаорционально
относительно чего и в каких случаях?


← →
Eraser ©   (2006-02-26 18:17) [2]


> DR0N ©   (26.02.06 18:05)

обрабатывать сообщение WM_WINDOWPOSCHANGING примерно так
Message.WindowPos.cy := Round(Message.WindowPos.cx / FAspect);, где FAspect нужное соотношение сторон, например 1,3 (640/480).
Но при обработке возможно надо учитывать некоторые доп. факторы.


← →
DR0N ©   (2006-02-26 20:20) [3]

Так ну вроде то что надо. Это можно писать в
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
 var Handled: Boolean); ?
Просто все мессаги тут обрабатываю и не совсем понимаю как у Message может быть параметр WindowPos, если это cardinal? и Cx - это ширина получается? А то название какое то не стандартное.


← →
Eraser ©   (2006-02-26 21:10) [4]


> DR0N ©   (26.02.06 20:20) [3]


> Так ну вроде то что надо. Это можно писать в
> procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
>
>  var Handled: Boolean); ?

не получится, т.к. WM_WINDOWPOSCHANGING отсылается синхронно.
Т.е. нужно делать стандартный обработчик сообщения типа
procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
или же подменять оконную процедуру.

> Просто все мессаги тут обрабатываю и не совсем понимаю как
> у Message может быть параметр WindowPos, если это cardinal?

см. справку, там подробно описаны параметры.


← →
DR0N ©   (2006-02-26 21:29) [5]

О, сенкс вроде все работает...
правда константные размеры формы не учитываются и по высоте мышкой не растягивается, придется руками в обработчике писать =(


← →
Eraser ©   (2006-02-26 21:35) [6]


> DR0N ©   (26.02.06 21:29) [5]


> правда константные размеры формы не учитываются и по высоте
> мышкой не растягивается, придется руками в обработчике писать
> =(

это всё можно учитывать при обработке этого сообщения. Я показал простейший пример просто.


← →
DR0N ©   (2006-02-26 22:34) [7]

Да, спасибо, я все понял.



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

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



Память: 0.46 MB
Время: 0.031 c
3-1139106718
TheEd
2006-02-05 05:31
2006.04.02
SELECT ID FROM <SomeTable> WHERE ID IN (3, 7, 5, ...)


2-1142425112
ЧиЧиЧи
2006-03-15 15:18
2006.04.02
Сохранять значения в ListView


15-1141980677
Бульбаш
2006-03-10 11:51
2006.04.02
Delphi и Web


3-1139418596
_Konstantin
2006-02-08 20:09
2006.04.02
Проблема с подключением к MSSQL2000 через ADOConnection


2-1142599809
RomanH
2006-03-17 15:50
2006.04.02
Извлечение Jpeg из таблицы в Image




   Наверх