我想在屏幕上顯示一些值,這是可以改變的。我有以下代碼用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(),但沒有任何改變。由於某些原因,屏幕未更新。