先前在MFC中删除窗口

  • 本文关键字:删除 窗口 MFC c++ mfc
  • 更新时间 :
  • 英文 :


正在尝试移动一个自定义按钮,其基类是cwnd,我们使用moveWindow()方法,但是每次我移动窗口时,先前绘制的窗口仍然可见。我试图致电InvalidateWindow,与父窗口上的UpdateWindow一起使用Invalidaterect,但所有这些都无法正常工作。我还尝试了Redrawwindow什么都没有发生。如何使用按钮的新位置正确更新父窗口?这是我的示例代码

void CCalendarCtrl::Shift()
{
   RECT rc;
   m_Up.GetWindowRect(&rc);
   rc.top -= 20;
   rc.bottom -=20;
   m_Up.MoveWindow(&rc,TRUE);
   RedrawWindow();
}

moveWindow()。

https://social.msdn.microsoft.com/forums/forums/en-us/d6da8041-741-747c-4b31-b493-343e4516b4516b452/-mfc-and-cwndmovewindow-mfc?论坛= vcmfcatl

getWindowRect返回屏幕坐标。MoveWindow使用客户端坐标工作。因此,您需要在两个呼叫之间进行屏幕固定器(& rc)。

最新更新