C++ 立即调用OnMove(),而不是等待窗口的实际移动
我的MFC应用程序有问题 它应该显示窗口的坐标,然后当你移动窗口时,用新坐标显示一条新线。我的问题是OnMove()函数似乎会立即被调用,并且所有内容总是同时显示 这是我的OnPaint()代码: 这是我的爱C++ 立即调用OnMove(),而不是等待窗口的实际移动,c++,visual-c++,visual-studio-2013,mfc,C++,Visual C++,Visual Studio 2013,Mfc,我的MFC应用程序有问题 它应该显示窗口的坐标,然后当你移动窗口时,用新坐标显示一条新线。我的问题是OnMove()函数似乎会立即被调用,并且所有内容总是同时显示 这是我的OnPaint()代码: 这是我的爱 void CMainFrame::OnMove(int x, int y) { CFrameWnd::OnMove(x, y); CDC *dc; dc = GetDC(); Invalidate(); dc->TextOutW(0, 80, _T("TEST")); Upd
void CMainFrame::OnMove(int x, int y)
{
CFrameWnd::OnMove(x, y);
CDC *dc;
dc = GetDC();
Invalidate();
dc->TextOutW(0, 80, _T("TEST"));
UpdateWindow();
}
知道为什么在我运行应用程序而不是等待移动时,单词TEST就会出现吗?因为窗口的初始创建和显示会导致对OnMove()的调用。另一个提示-只需在OnPaint()函数中绘制文本,就可以省去许多麻烦。其他消息处理程序应该捕获数据供OnPaint()以后使用,而不是立即绘制。这对@MarkTaylor有很大帮助,非常感谢
void CMainFrame::OnMove(int x, int y)
{
CFrameWnd::OnMove(x, y);
CDC *dc;
dc = GetDC();
Invalidate();
dc->TextOutW(0, 80, _T("TEST"));
UpdateWindow();
}