Отображение символических шрифтов на CButton MFC
Мне нужно отобразить символический шрифт на CButton mfc. Как этого добиться? Пример кода более полезен. Символические шрифты могут быть из webdings или cusotm установленного шрифта.
Я попробовал приведенный ниже код, но он не работает. Я поместил этот код в метод onpaint диалогового окна.
CWnd *win = GetDlgItem(IDC_BUTTON1);
CDC *dc = win->GetDC();
CFont font;
VERIFY(font.CreateFont(
12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
SYMBOL_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("SAPDings"))); // lpszFacename
// Do something with the font just created...
//CClientDC dc(this);
CFont* def_font = dc->SelectObject(&font);
dc->TextOutW(5, 5, _T("0x0027"), 5);
dc->SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
1 ответ
Просто использовать CreateFontIndirect
создать шрифт в нужном размере.
использование CWnd::SetFont
установить шрифт для кнопки.
Не забудьте сохранить шрифт в родительском классе, пока кнопка или элемент управления существуют, если вы использовали шрифт.
С помощью этого метода вы можете отображать только символы из этого шрифта в элементе управления. С помощью этого метода невозможно смешивать символы из другого шрифта.