Текущий архив: 2006.04.02;
Скачать: 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 вся ветка
Текущий архив: 2006.04.02;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.042 c