Список установленных в системе шрифтов

 

Всем привет! Помогите пожалуйста решить такую задачу. Как во входящих параметрах сделать выбор шрифта текста OBJ_LABEL из выпадающего списка (перечисления такого нигде не нашел), содержащего список всех доступных шрифтов? Или, хотя бы, как получить сам этот список через какую-то функцию. На скрине  ручное изменение свойств объекта. Терминал ведь каким-то образом получает его.

 Fonts list

 

EnumFontFamiliesEx

А вот как в параметрах списком... Хорошая задачка.

 
TheXpert:

EnumFontFamiliesEx

А вот как в параметрах списком... Хорошая задачка.


О, почти то, спасибо. Вот то, что нужно EnumFonts function. Импортируем ее и осталось разобраться, как через эту функцию получить список системных шрифтов, а из него уже легко сделать своё перечисление в mql
 
Так, похоже все плохо. Информация возвращается чез задаваемый в функции коллбэк. Поэтому без длл сделать вряд ли получится.
 
TheXpert:
Так, похоже все плохо. Информация возвращается чез задаваемый в функции коллбэк. Поэтому без длл сделать вряд ли получится.

Без какой именно длл?
 
pretorian:
Без какой именно длл?
Без самописной. Передать адрес написанной в mql функции не получится
 
А обязательно предоставлять полный список шрифтов в настройки? Может создать перечисление на десяток шрифтов и хватит?
 
Из MQL есть вариант прочитать папку с файлами шрифтов. Но имя файла шрифта не всегда совпадает с его именем. Надо открывать файл шрифта и читать его имя.
 
TheXpert:
Без самописной. Передать адрес написанной в mql функции не получится


Хорошо. Тогда какую длл использует сам МТ4, чтобы вывести список,  который я на скрине показал в шапке? Если при ручном вводе сам МТ4 предлагает выбор из списка, то логично предположить, что и в коде это возможно.
 
evillive:
А обязательно предоставлять полный список шрифтов в настройки? Может создать перечисление на десяток шрифтов и хватит?
Это слишком просто и смысла нет. Интересней уж это созданное перечисление заполнить полученным списком.
 
Zhunko:
Из MQL есть вариант прочитать папку с файлами шрифтов. Но имя файла шрифта не всегда совпадает с его именем. Надо открывать файл шрифта и читать его имя.

А есть возможность ветку реестра прочитать?
Причина обращения: