Я хочу сделать поле комбинированного списка со всеми установленными шрифтами компьютера перечисленным в нем. Я не уверен, как это сделано. Я должен получить доступ к реестру для получения этого?Спасибо
Вы должны использовать функцию Win32 API EnumFontFamiliesEx . Вы вызываете эту функцию, передавая функцию обратного вызова, соответствующую типу EnumFontFamExProc . Функция обратного вызова вызывается один раз для каждого шрифта, найденного EnumFontFamiliesEx.
Я бы рекомендовал использовать версию Unicode (EnumFontFamiliesExW), поскольку я видел, как версия ascii (EnumFontFamiliesExA) демонстрирует очень странное поведение для шрифтов восточноазиатских языков.
Связанные статьи содержат пример кода.
Способ winapi заключается в использовании функции EnumFontFamiliesEx
. Вы должны передать заполненную структуру с параметром по умолчанию DEFAULT_CHARSET
, чтобы вывести список всех установленных шрифтов.
Дополнительные сведения см. в MSDN.