Форум по программированию Delphi Sources

 



Вернуться   Форум по программированию Delphi Sources > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.10.2005, 10:46
chirik chirik вне форума
Прохожий
 
Регистрация: 07.10.2005
Сообщения: 14
Репутация: 10
Восклицание формы в delphi

Всем здравствуйте! Как автоматически отредактировать размер форм в программе под любое разрешение
Ответить с цитированием
  #2  
Старый 07.10.2005, 11:04
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,440
Версия Delphi: 7
Репутация: выкл
По умолчанию

Воспользуйтесь классом "TScreen".

"Класс TScreen инкапсулирует состояние экрана или выводимой области. Delphi во время работы автоматически создаст экземпляр класса TScreen. Для его использования в раздел uses нужно включить модуль Forms.

В любом месте приложения можно использовать такие свойства этого класса, как Height (высота экрана) и Width (ширина экрана). Это может потребоваться, например, тогда, когда нужно сделать размеры формы приложения постоянными и равными половине размеров экрана при любом разрешении монитора. Для автоматического масштабирования формы можно в обработчик события OnCreate формы поместить такой код:

Form1.Width:=Screen.Width div 2;
Form1.Height:=Screen.Height div 2;

Разрешающую способность экрана можно узнать, воспользовавшись свойством PixelsPerInch, указывающее количество пикселей на дюйм в вертикальном направлении. Это справедливо именно для вертикального направления, так как во многих мониторах коэффициенты масштабирования по горизонтали и вертикали различаются.

Класс TScreen имеет свойство Forms, содержащее список форм, отображаемых в данный момент на экране, и свойство FormCount, где находится количество таких форм. Можно использовать эти свойства для того, чтобы гарантировать, что на данном типе монитора размеры ни одной формы не превысят размеров экрана. Соответствующей код может выглядеть так:

With Screen Do
For i:=0 to FormCount-1 do
Begin
If Forms[i].Height > Height Then
Forms[i].Height:= Height;
If Forms[i].Width > Width Then
Forms[i].Width:= Width;
End;"

Последний раз редактировалось Admin, 07.10.2005 в 11:07.
Ответить с цитированием
  #3  
Старый 11.10.2005, 16:31
Аватар для GLFox
GLFox GLFox вне форума
Прохожий
 
Регистрация: 11.10.2005
Сообщения: 26
Репутация: 10
По умолчанию

Вообще то лучше пользоваться такими пропертями как Align и Anchors. Иногда можно для красявости и Position приплести. И не стоит заморачиваться такими вопросами, имхо.
Ответить с цитированием
  #4  
Старый 13.10.2005, 04:27
chirik chirik вне форума
Прохожий
 
Регистрация: 07.10.2005
Сообщения: 14
Репутация: 10
По умолчанию

Большое спасибо за помошь, обязательно воспользуюсь Вашими советами!
Ответить с цитированием
  #5  
Старый 13.10.2005, 04:32
chirik chirik вне форума
Прохожий
 
Регистрация: 07.10.2005
Сообщения: 14
Репутация: 10
По умолчанию Спасибо

Огромное спасибо, уважаемый Admin, за полноценные советы и помошь! Непременно воспользуюсь Вашими подсказками!
Ответить с цитированием
Ответ



Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources", 2004-2019

ВКонтакте   Facebook   Twitter