Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.039 c
15-1141748402
kaZaNoVa
2006-03-07 19:20
2006.04.02
Virtual PC & VMware


15-1141896338
Зм1й
2006-03-09 12:25
2006.04.02
Проблемы с локалкой


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


2-1142841790
RomanH
2006-03-20 11:03
2006.04.02
Ввод в MaskEdit


15-1142224430
Pazitron_Brain
2006-03-13 07:33
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский