C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Системные шрифты, Определение шрифтов в системе
Pirs
Отправлено: 23.02.2004, 00:26


Дежурный стрелочник

Группа: Участник
Сообщений: 39



Как узнать, какие в настройках Windows установлены шрифты, например в окнах сообщений, меню и пр.?
Gedeon
Отправлено: 23.02.2004, 09:54


Ветеран

Группа: Модератор
Сообщений: 1742



MSDN Смотри функцию SystemParametersInfo с первым параметром SPI_GETNONCLIENTMETRICS, второй параметр sizeof(третьего параметра), третий параметр в этом случае должен быть указателем на структуру NONCLIENTMETRICS (котоую тоже посмотри в MSDN) вот она то и даст нужную тебе информацию.

Отредактировано Gedeon — 23/02/2004, 11:25
Gedeon
Отправлено: 23.02.2004, 10:32


Ветеран

Группа: Модератор
Сообщений: 1742



Вот кратенький примерчик:
CODE

NONCLIENTMETRICS fs;
   fs.cbSize = sizeof(NONCLIENTMETRICS);
   HFONT fnt;
   if(SystemParametersInfo(SPI_GETNONCLIENTMETRICS,sizeof(fs),&fs,0)){
       fnt = CreateFontIndirect(&fs.lfMessageFont);
   }
Pirs
Отправлено: 24.02.2004, 17:42


Дежурный стрелочник

Группа: Участник
Сообщений: 39



Gedeon спасибо.
Ваш ответ больше помог в том плане, что наконец нашел Help, где все это описано. Раньше просматривал только файлы в папке Builder, а там ничего по Win32 нет. Нажал F1 на "NONCLIENTMETRICS" и выскочил help c описанием. Перерыл всю папку Help а там ничего такого нет! Откуда же он взялся? Через час нашел, что все есть в папке ..\..\Common Files\Borland Shared\MSHelp.

Вот за это спасибо.

Вернуться в Вопросы программирования в C++Builder