Как изменить шрифт консоли
Добавлено: 19 янв 2005, 14:13
Очередной раз столкнулся с проблемой (первый раз пару лет назад и несильно требовалось) и удивился, что до сих пор еще в инете не описано как ее решить.
А проблема очень простая:
Все, кто работает в win2k\xp, знают что консоли есть куча настроек, в том числе и установка шрифта! Так вот просто напросто требуется поменять шрифт программным способом!
Единственно, что мне удалось нарыть, так это то, что сделать это можно при помощи НЕДОКУМЕНТИРОВАННОЙ функции SetConsoleFont. Мне даже удалось найти какие параметры передаются в эту функцию:
, где hConsoleOutput получается GetStdHandle(STD_OUTPUT_HANDLE),
а вот IdFont - это индекс шрифта у консольки.
По умолчанию у консольки порядка 12 шрифтов, которые и можно установить таки образом, но требуется УСТАНОВИТЬ ШРИФТ Lucida console ЛЮБОГО РАЗМЕРА!
Опытом путем было установлено, что при установлении (непрограммым способом во время работы программы) таких "нестандартных" шрифтов просто напросто они добавляются в "стандартный масив шрифтов" и после этого их можно было использовать и в пограмме.
Помогите справиться с этой проблемой!!!
А проблема очень простая:
Все, кто работает в win2k\xp, знают что консоли есть куча настроек, в том числе и установка шрифта! Так вот просто напросто требуется поменять шрифт программным способом!
Единственно, что мне удалось нарыть, так это то, что сделать это можно при помощи НЕДОКУМЕНТИРОВАННОЙ функции SetConsoleFont. Мне даже удалось найти какие параметры передаются в эту функцию:
Код: Выделить всё
function SetConsoleFont(hConsoleOutput: THandle; IdFont: Cardinal):LongBool;
а вот IdFont - это индекс шрифта у консольки.
По умолчанию у консольки порядка 12 шрифтов, которые и можно установить таки образом, но требуется УСТАНОВИТЬ ШРИФТ Lucida console ЛЮБОГО РАЗМЕРА!
Опытом путем было установлено, что при установлении (непрограммым способом во время работы программы) таких "нестандартных" шрифтов просто напросто они добавляются в "стандартный масив шрифтов" и после этого их можно было использовать и в пограмме.
Помогите справиться с этой проблемой!!!