Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1142234746
Knight
2006-03-13 10:25
2006.04.02
Что надо для организации связи между двумя ЛВС на 600 метров?


2-1142685685
Fenix
2006-03-18 15:41
2006.04.02
Добавление иконки на SpeedButton


3-1139213746
diwww
2006-02-06 11:15
2006.04.02
Как наложить фильтр в delphi 2005?


15-1141839126
Adios
2006-03-08 20:32
2006.04.02
вопрос про железо


15-1142023041
romychk
2006-03-10 23:37
2006.04.02
Сыплется винт





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский