Простой способ установить тип шрифта в MFC CListBox - PullRequest
1 голос
/ 14 февраля 2010

Я всегда использовал элемент управления ListBox по умолчанию со свойством OWNER DRAW, установленным в NO. Но теперь мне нужно установить монофонический шрифт фиксированного размера, поскольку мои отформатированные строки не выравниваются, даже если у меня по умолчанию установлено выравнивание по правому краю, а необходимый отступ ширины превышает фактический размер строки цифр. Моя проблема в том, что я не имею ни малейшего понятия, как написать простой код для этого, и я никогда не кодировал для OWNER DRAW, установленной на что-либо, кроме NO. Цените любой вклад или примеры или ссылки. Кроме того, хотелось бы получить информацию о том, как проверить, какие шрифты с фиксированной моноширией доступны в системе, в которой запущено мое приложение? (C ++ MFC, Visual Studio)

Ответы [ 2 ]

2 голосов
/ 14 февраля 2010

Объявите объект CFont и инициируйте его с помощью CFont :: CreateFont .
«Courier New» обычно является хорошим выбором для шрифтов фиксированной ширины.

Используйте метод CListBox SetFont () (унаследованный от CWnd), чтобы заменить метод по умолчанию.

0 голосов
/ 14 февраля 2010

Не знаю о CListBox, но в стандартном списке Windows вы можете использовать сообщение WM_SETFONT, чтобы установить шрифт элемента управления. CListBox, вероятно, оборачивает собственный список, поэтому, если вы можете получить HWND для CListBox, установить его шрифт с помощью WM_SETFONT будет легко.

...