Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как получить системный шрифт Windows? [D7, Win95/98, WinXP]


Tack ©   (2005-01-21 16:20:00) 

Почему-то установленное в True свойство TForm.ParentFont для моего диалогового окна работает не на всех компьютерах.
Т.е. иногда шрифт в диалоге соответствует системному, а иногда нет.
Хочу вручную устанавливать свойство TForm.Font при каждом запуске приложения.

Как получить системный шрифт Windows, который по умолчанию используется во всех системных диалоговых окнах и надписях?


Tack83   (2005-01-23 12:41:00) [1]

GrayFace, спасибо!!!!!


GrayFace   (2005-01-23 01:32:00) [2]

Может быть так:
Font.Handle := GetStockObject(SYSTEM_FONT);

или так:

var
 NonClientMetrics: TNonClientMetrics;

begin
 NonClientMetrics.cbSize := SizeOf(NonClientMetrics);
 if SystemParametersInfo(SPI_GETNONCLIENTMETRICS, 0, @NonClientMetrics, 0) then
 begin
   Font:=TFont.Create;
   Font.Handle :=   CreateFontIndirect(NonClientMetrics.lfMessageFont);
 end;
end;


Вообще, это взято из procedure TScreen.GetMetricSettings.


Tack   (2005-01-23 00:54:00) [3]

Помогите!!!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо