// In XXX.h
class XXX {
...
CFont m_font;
CBrush m_brushBG;
}
// In XXX.cpp
void XXX::OnPoint()
{
CDC* pDC;
...
if (!m_font.GetSafeHandle()) {
m_font.CreateFont(15, 0, 0, 0, 0, 0, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 0, _T("Consolas"));
}
CFont *pOldFont = pDC->SelectObject(&m_font);
int nOldBkMode = pDC->SetBkMode(OPAQUE);
pDC->SetTextColor(RGB(255, 255, 255));
pDC->SetBkColor(RGB(0, 0, 0));
pDC->DrawText(m_strMessage, rc, DT_LEFT);
pDC->SetBkMode(nOldBkMode );
pDC->SelectObject(pOldFont);
...
}
// In wingdi.h
/* Background Modes */
#define TRANSPARENT 1
#define OPAQUE 2
#define BKMODE_LAST 2
'Windows' 카테고리의 다른 글
VC6 Static control double click 처리하기 (0) | 2016.06.22 |
---|---|
[MFC] Double buffering (0) | 2016.05.27 |
MFC, Popup context menu (0) | 2016.05.11 |
Virtual list control (리스트 아이템 가상화?) (0) | 2016.04.21 |
Loading system icon (0) | 2016.04.20 |