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

Вниз

Работа приложения с разным разрешением экрана   Найти похожие ветки 

 
AlexGof   (2003-05-05 10:51) [0]

Доброго дня вам ! Вопрос такой, написал приложение под 800Х600 теперь у одного из юзеров экран 640Х480 только поддерживает, надо переделывать под него. Приложение многооконное, т. е. главная и MDIChild формы, на формах свойство WindowState=wsMaximized стоит, они сами под 640Х480 размером становятся, а вот компоненты смещаются естественно. Решил их масштабировать на 20%. Делаю это так
for i:=1 to Form.ControlCount-1 do
begin
if (Form.Controls[i] is TWinControl) then
(Form.Controls[i] as TWinControl).ScaleBy(8,10);
end;
Но запускаю приложение в режиме 640Х480 и ничего не происходит, они не уменьшаются как написано в книжке, ни кнопки, ни таблицы, вообще ничего. Может я что не так делаю, кто занимался проблемами работы с разными экранами подскажите, как это делается. Заранее благодарен....


 
ghg   (2003-05-05 11:22) [1]

определяешь разрешение экрана.
потом для этого разрешения меняешь размер формы при ее создании и все.
должно работать

procedure TForm2.FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
begin
ScaleControls(newwidth,width);
end;


 
AlexGof   (2003-05-05 11:43) [2]

Так ?
ScaleControls(NewWidth,Screen.Width);
ScaleControls(NewHeight,Screen.Height);
И только для главной пойдет или для MDIChild форм тоже самое делать 7


 
ghg   (2003-05-05 11:48) [3]

>ScaleControls(NewWidth,Screen.Width);
>ScaleControls(NewHeight,Screen.Height);
>И только для главной пойдет или для MDIChild форм тоже самое делать 7

немного не так.
надо только
ScaleControls(NewHeight,Screen.Height);
и все
прадва я писал Form.Height


для MDI форм не знаю, но если обычные то надо делать для каждой в отдельности


 
ASMiD   (2003-05-05 12:00) [4]

640Х480 это круто - давно с таким не сталкивался.
Самый дубовый метод - в OnCreate
определяешь разрешение экрана c помощью API-функции GetDeviceCaps и, перебирая все компоненты, устанавливаеш их положение и размеры (Left, Right, High, Width) все это можно сделать одной API-функцией SetWindowPos



 
AlexGof   (2003-05-05 12:02) [5]

Почему как то не так работает, ToolBar закрылись на половину, таблицы и pagecontrols в дочерних формах вобще не отображаются и с ними не пойму что произошло, может, ты что то перепутал ? Или я как то не так делаю ?


 
ASMiD   (2003-05-05 12:05) [6]

Это ты кому ответил?


 
ghg   (2003-05-05 12:15) [7]

что значит закрылись наполовину?


 
ghg   (2003-05-05 12:22) [8]

кстати был у меня прецедент, когда приложение написанное на разрешении 800*600 нормально отображалось при разрешении 1024*...
то есть отношение десктопа к размеру форм былдо то какое надо.
Как это объяснить? (правда это было на tft-мониторе)



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

Форум: "Основная";
Текущий архив: 2003.05.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
4-47047
Константин Артемьев
2003-03-13 17:40
2003.05.15
Как перехватить перезапись файла?


14-46996
Дмитрий К.К.
2003-04-28 06:19
2003.05.15
Именинники 28 апреля


14-46945
Хороший человек
2003-04-21 20:51
2003.05.15
Посоветуйте, какой ник выбрать


7-47023
Snap
2003-03-17 18:52
2003.05.15
Можно ли отследить что мышка была нажата или передвинута программно, а не юзером?


3-46634
maksimenkon
2003-04-22 17:28
2003.05.15
Как сохранить иконку в базу???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский