2010-02-14 1 views
1

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

ответ

0

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

+0

Спасибо за ответ. Я попробую это сегодня вечером, когда вернусь домой. Кажется, я прочитал, что мне придется изменить свойства listbox на OwnerDraw, чтобы изменить шрифт, поэтому мне также придется изучить все это. – 2010-02-14 21:08:39

2

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

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

+0

Спасибо за ответ. Я попробую это сегодня вечером, когда вернусь домой. Кажется, я прочитал, что мне придется изменить свойства listbox на OwnerDraw, чтобы изменить шрифт, поэтому мне также придется изучить все это. – 2010-02-14 21:07:52