Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
90 / 16 / 1
Регистрация: 08.11.2011
Сообщений: 96

Не правильно масштабируется размер шрифта компонента с TLabel при переходе на другой комп

18.12.2011, 15:11. Показов 1249. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имею старый простенький компонент, например, TDBEdit + слева (или сверху) от него добавлена метка типа TLаbel (можно TStaticText - не суть). Т.е, мой компонент составлен из двух объектов - просто чтобы рядом с TDBEdit вручную не ставить каждый раз метку-пояснение: Comment типа TLabel. У этого "составного" компонента есть свойство для управления шрифтом этой "подсказки":
Delphi
1
property TextFont: TFont read FTextFont write SetTextFont;
Соответственно, в Конструкторе прописаны значения "по умолчанию":
Delphi
1
2
3
4
5
6
7
8
constructor TMyValueEdit.Create(AOwner: TComponent);
begin
Inherited Create(AOwner);
Comment := TLabel.Create(Self);
FTextFont := Comment.Font;
FTextFont.Color := clBlue;    FTextFont.Size := 10;
..........................
end;
Установщик свойства:
Delphi
1
2
3
4
procedure TMyValueEdit.SetTextFont(const NewFont: TFont);
begin
FTextFont.Assign(NewFont);   Repaint;
end;
На компе, где создавалось приложение, всё прекрасно работает: все свойства, включая цвет или размер шрифта "подсказки" типа TLabel задаются в Инспекторе объектов. Но! Как только ставишь на другой комп, где например в настройках Винды используется МЕЛКИЙ шрифт (у меня был СРЕДНИЙ при создании приложения) - масштабирование именно этих подсказок выполняется не корректно... К примеру. У всех компонентов, где для шрифта задано Size=10 при "разрешении экрана" Font.PixelsPerInch=120 (как у меня) автоматом получается по известной формуле Height=-17. Переходим на другой комп (где в настройках Винды - мелкий шрифт) - снова у "правильных" компонентов видим Size=10, а Height=-13 (что вполне логично, т.к. Font.PixelsPerInch=96). НО!! У моей злосчастной метки при этом наоборот: Height сохраняется равным -17, а вот Size увеличивается до 13. Как пояснить шрифту, управляемому только из Инспектора объектов, что я не хочу менять его Size при переходе на комп с другим разрешением, а хочу -как у всех обычных компонентов- менять под него Height??
-----
Мне не совсем понятно, в какой момент программа зачитывает данные для шрифта, которые задавались только через Object Inspector: сразу после запуска Constructor? Пытался в установщик свойства ввести строку с выводом Size-Height капризного шрифта моей TLabel, скажем, вы заголовок формы - не срабатывает вообще! Но при этом, например, цвет шрифта задаётся успешно. Как программу заставить сначала задавать Size - тогда правильный Height по новому разрешению экрана сам установится...
(Delphi XE2, Win7-64)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.12.2011, 15:11
Ответы с готовыми решениями:

Программно изменить размер шрифта компонента
Используя MS Excel создать создать форму с текстовой строкой и набором кнопок, при нажатии на которые: размер шрифта надписи на форме...

С помощью компонента FontDialog задайте шрифт, размер и цвет шрифта, выводимого в Label.
помогите решить) Создайте в программном режиме компонент Label. С помощью компонента FontDialog задайте шрифт, размер и цвет шрифта,...

Цвет шрифта и 3D-границы у TLabel
Всем здравствуйте. Работая над дизайном натолкнулся на отсутствие у TLabel границ, как выход использовал вместо Tlabel TStaticText. В...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.12.2011, 15:11
Помогаю со студенческими работами здесь

Выключается комп при переходе с батареи на сеть
Здравствуйте! Купил вчера в магазине ИБП Sven Pro+ 1000, одна проблема в работе: переход питания от сети на батарею происходит как надо,...

Не запускается комп при переходе на xeon 5460
Здравствуйте, проблема такая: материнская плата p5k, биос прошил, ставлю xeon 5460 комп начинает включаться, и через 3-5 сек выключается и...

Свойство color компонента TLabel
Что значит это свойство - меняю его, а цвет лэйбла не меняется. Меняется только когда я меняю свойство color составного свойства TFont.

Создание компонента на основе TLabel
можете подсказать как в билдере инсталировать компонет? потмоу что в учебнике котором я читаю - картинка и описание не подходят к тому окну...

Размер шрифта при печати
Здравствуйте. Прошу вашего совета. Есть страница сайта на PHP (если это важно). Листинг примерно такой: ......... <div...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru