Показать сообщение отдельно
  #10  
Старый 25.07.2013, 19:29
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Oreon
Но проблему у меня даже "ListBox1.Width := ln + ListBox1.Width - ListBox1.ClientWidth;" не убирает и я разобрался почему - у меня в настройках семерки стоит отображение шрифтов 125%
Мне кажется, что тут все может зависеть от того, в какой момент выполняется установка размеров. Если не путаю, в OnCreate оконные элементы со своими Handle могут быть еще не созданы, и всё считается в пропорциях, записанных в DFM, которые могут отличаться от фактических.

Кроме того, раньше в Delphi наблюдалось неверное масштабирование шрифтов, рассогласованное с размерами компонентов. Не помню точно, но вроде бы баг проявлялся именно тогда, когда разработка велась на машине с крупными шрифтами. Обойти его никак было нельзя, кроме как правкой Controls.pas, найденной эмпирически. Как с этим в модных версиях Delphi, не знаю.
Ответить с цитированием