Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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.




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




Наверх





Память: 0.73 MB
Время: 0.015 c
3-46231           Giga-Byte             2002-03-23 13:24  2002.04.15  
Как можно отсортировать записи в Таблице


6-46469           Lenidus               2002-02-03 15:29  2002.04.15  
Как определить на какую ссылку вы нажали в окне Webbrowser?


1-46431           Babka-Tapka           2002-04-02 23:32  2002.04.15  
Как мне в свою прогу вставить цветной курсор из файла?


1-46322           Deus                  2002-04-03 10:28  2002.04.15  
Отловить fullscreen?


14-46515          Gray 99 rus           2002-03-04 19:56  2002.04.15  
Помогите с объемом программы...