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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2025, 13:35
DOR DOR вне форума
Начинающий
 
Регистрация: 14.01.2011
Сообщения: 174
Версия Delphi: 7
Репутация: 10
По умолчанию width компанента

Добрый день.
При проектировании компоненту GroupBox указываю width = 200.
Запускаю проект и все хорошо. Визуализация как и была задумана.
Если компоненту GroupBox задать width = 200 через кнопку на форме, то в итоге ширина получается меньше "решет" все что есть в GroupBox.
Это происходит при запуске на ноуте с не большим экраном.
Если запустить на ПК и большим монитором, то все ок, работает как и задумывалось.
Как сделать чтобы width = 200 была одинаковая и с большим и маленьким экраном?
Ответить с цитированием
  #2  
Старый 12.10.2025, 18:55
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,111
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Никак.
На самом деле ширина во всех случаях будет 200. Просто, в силу масштабирования текста на "маленьком" экране, размер текста и, сообтветственно, всех компонентов становится больше. Т.е. это не GroupBox становится меньше, а все компоненты становятся больше.


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

Вот что Co-Pilot советует (не проверял):
Код:
function GetScreenScaleFactor: Single;
begin
  Result := Screen.PixelsPerInch / 96; // 96 DPI is the default scale (100%)
end;
Если у тебя мультимониторная конфигурация, то там сложнее будет, надо получать этот коэф. для конкретного монитора.
Ответить с цитированием
Ответ


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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025