我想在屏幕上显示一些值,这是可以改变的。我有以下代码用CDC绘制可改变的文本:: DrawText
void CMainWnd::OnPaint()
{
CPaintDC dc(this);
CRect rcText(0, 0, 500 ,500);
wchar_t text[36];
unsigned int num = server->GetNumClients(num);
wsprintf(text, L"Number of connected clients: %d", num);
dc.DrawText(text, &rcText, DT_LEFT);
CFrameWnd::OnPaint();
}
void CMainWnd::OnTimer(UINT timerID)
{
SendMessage(WM_PAINT, 0, 0);
}
它在窗口出现时绘制文本。但在接下来的调用中,当文本不同时,屏幕上的文本没有改变。使用调试器,我可以看到OnPaint被调用,文本已被更改,但在我的窗口文本保持不变。 GetLastError()返回0.我认为我错过了一些重要的DrawText工作原理。我试图在最后调用UpdateWindow(),但没有任何改变。由于某些原因,屏幕未更新。