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

Вниз

Вопрос о размере раб. стола на разных компах.   Найти похожие ветки 

 
Solod   (2002-04-03 05:01) [0]

Пожалуста, если не трудно, подскажите.

Как лучше решить проблему запуска программы на разных компьютерах с разными размерами рабочего стола? Есть ли такой компонент?

Спасибо.


 
Walker   (2002-04-03 05:13) [1]

а в чём собственно проблема?
опредеилть размеры рабочего стола можно так:


var
Width, Height: integer;
begin
Width:=GetDeviceCaps(0, HORZRES); // ширина экрана в пикселях
Height:=GetDeviceCaps(0, VERTRES);// высота экрана в пикселях
...
end;

или так:

var
rWorkArea: TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA, 0, @rWorkArea, 0);
end...
rWorkArea - рабочая область, то есть размер экоана за исключением панели задач.


 
Solod   (2002-04-03 05:23) [2]

Проблема: Я не знаю как лучше реализовать механизм изменения размеров и положений формы и всех её компонентов.


 
Walker   (2002-04-03 05:37) [3]

у каждой (или почти) компоненты есть свойство Anchors (у некоторых есть Align)

по умолчанию это свойство равно [akLeftm, akTop]
это означает что координаты объекта привязаны к левой и верхней границам окна

если же сделать [akLeftm, akTop, akBottom, akRight]
то при изменении размеров окна, размеры объекта будут автоматически менятся (пропорцианально)

так вот, в конечном итоге всё зависит от незначений объектов
например пользователю не нужно, чтоб обычные кнопки (TButton) изменяли размер, но зато их можно привязать например к нижней и левой границам [akBottom, akLeft], или только к правой [akRight]



 
Walker   (2002-04-03 05:38) [4]

а насчёт формы - у неё есть свойство Position

поставь poDesktopCenter или poDefaultPosOnly


 
Solod   (2002-04-03 07:51) [5]

Дело в том, что на форме расположены TDBEdit по горизонтали. Поэтому, я так думаю, нужно менять, например такие свойства как Size текста и т.п.


 
Donal_Graeme   (2002-04-03 13:27) [6]

просто проги надо разрабатывать под разрешение 640х480 :-))


 
REA   (2002-04-03 15:50) [7]

А зачем эти TDBEdit по горизонтали? Может Grid какой?
В крайнем случае TScrollBox и в него Edit.
А вообще согласен насчет 640х480.


 
PVOzerski   (2002-04-03 16:02) [8]

Я вот начальный размер формы (при последующих запусках проги берут у меня предыдущие координаты
из ini-файла) задаю, исходя из размеров рабочего стола, а расположение контролов корректирую в
обработчике сообщения onResize. Размеры рабочего стола можно определять по-разному
(например, через свойства предопределенной в VCL переменной Screen, или через комбинацию API-функций
GetDesktopWindow и GetClientRect). Не самый сложный путь, IMHO.



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

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

Наверх





Память: 0.46 MB
Время: 0.006 c
1-46435
Gayrus
2002-04-03 03:25
2002.04.15
Help me


3-46244
kserg@ukr.net
2002-03-25 11:37
2002.04.15
Как выполнить поиск 1-го вхождения и последующих без фильтрации?


4-46536
Yonic
2002-02-12 04:40
2002.04.15
Как скопировать текст из листбокса?


1-46457
@andrew
2002-04-03 11:36
2002.04.15
ПРИВЕТ ВСЕМ! Как создать форму внутрях DLL - все ясно,


1-46419
Nestor
2002-04-02 18:04
2002.04.15
InstallShield





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