Knowledge Base Nr: 00246 coltextdlg.cpp - http://www.swe-kaiser.de

MFC: farbige textausgaben in dialogen (beispiel timergesteuert)

  
void CDummyDlg::OnPaint()
{
if (IsIconic())
{
...
}
else
{
CPaintDC dc(this); // device context for painting

dc.SetBkMode(TRANSPARENT); //hintergrund beibehalten (z.b. bitmap)
//dc.SetBkColor(RGB(0,0,255)); //oder hintergrundfarbe für text vorgeben

dc.SetTextColor(m_crText);
dc.TextOut(30, 50, m_strTickCount);

CDialog::OnPaint();
}
}

void CDummyDlg::OnTimer(UINT nIDEvent)
{
DWORD dwNow = ::GetTickCount();

m_strTickCount.Format("Tickcount: %d", dwNow);
m_crText = (dwNow%2) ? RGB(255,0,0) : RGB(0,255,0); //farbumschlag: gerade/ungerade

Invalidate(TRUE); //oder auch FALSE wenn hintergrund nicht transparent ist
UpdateWindow();

CDialog::OnTimer(nIDEvent);
}