MoveWindow(int x,int y,int nWidth,int nHeight,false)甚至使用了SetWindowPos(& wndTopMost,m_iLeft,m_iTop,m_iWidth,m_iHeight,false);
因为我不想重新绘制我的窗口,所以我正在使用false传递MoveWindow的重绘参数。但它重新粉刷了窗户。 如果我使用LeadTool v 16,这种行为很好,但在v16.5中,MoveWindow函数失去了它的功能。不知道它与LeadTool的关系。
期待有关此问题的任何帮助
答案 0 :(得分:1)
当窗口重新绘制时,不是(仅)您的呼叫。获得WM_PAINT
后,Windows会告诉您必须绘制一个窗口。 “我不想”是不够的理由。
答案 1 :(得分:0)
您是否正在改变窗户的宽度或高度?如果是这样,并且如果目标窗口设置了CS_HREDRAW或CS_VREDRAW类样式位,则调整大小将导致完全重新绘制。 (一个简单的移动可能不会导致重新绘制,除非移动它会揭开以前被其他窗口隐藏的部分窗口。)
BTW,SetWindowPos的最后一个参数是一组位,而不是真/假,第一个参数看起来很奇怪,它应该是普通的HWND,而不是变量的地址。有关详细信息,请参阅MSDN on SetWindowPos。