FAQ:WinAPI VCPP:сменить шрифт контекста устройства
Материал из Весельчак У
Версия от 20:40, 30 июля 2008; RXL (обсуждение | вклад) (Новая: ===Как сменить шрифт при выводе текста на CDC?=== <code cpp> //создаём свой шрифт CFont font; LOGFONT logfont; memset(&logfont, 0, size...)
Как сменить шрифт при выводе текста на CDC?
//создаём свой шрифт CFont font; LOGFONT logfont; memset(&logfont, 0, sizeof(LOGFONT)); logfont.lfWeight = FW_NORMAL; logfont.lfHeight = -MulDiv(14, pDC->GetDeviceCaps(LOGPIXELSY), 72); logfont.lfCharSet = RUSSIAN_CHARSET; logfont.lfUnderline = FALSE; logfont.lfItalic = FALSE; logfont.lfOutPrecision = OUT_TT_PRECIS; logfont.lfPitchAndFamily = FF_ROMAN; logfont.lfQuality = DEFAULT_QUALITY; strcpy(logfont.lfFaceName, "Arial"); font.CreateFontIndirect(&logfont); //сохраняем адрес старого шрифта контекста CFont* pOldFont = pDC->SelectObject(&font); //выводим цветной текст с прозрачным фоном pDC->SetTextColor(RGB(120, 100, 255)); pDC->SetBkMode(TRANSPARENT); pDC->TextOut(0, 0, "Шрифт Arial", 12/*символов*/); //после использования твоего возвращаем старый на место pDC->SelectObject(&pOldFont);