我在一个区域里绘制了几个对话框窗口,都是Child属性的,然后用movewindow改变其中一个的大小位置,则在另一个窗口出现这个窗口控件的部分图案,仅仅是图案,我试图在刷新也不好用,不过把主窗口最小化,再最大化之后就没了,请问应该怎么解决。
另外,请问一下,如何利用发送消息,使主窗口最大化最小化

解决方案 »

  1.   

    请问是需要在WM_ERASEBKGND中重绘一下就可以吗?
    那我去试试
    另外一个问题呢?
      

  2.   

    我一调用GetDlgItem(IDD_XXX_DIALOG)->Invalidate() ;
    程序就出错,是运行中的错误
      

  3.   

    GetDlgItem(IDD_XXX_DIALOG)这样应该得不到对话框的指针, 你要想办法的指针或对象!
    若得不到可以用
    HWND FindWindow(
    LPCTSTR lpClassName,
    LPCTSTR lpWindowName ); 
    试试 !
      

  4.   

    我在movewindow之前给其他的窗口Invalidate()
    可是为什么程序运行到那里就出错呢
    ::AfxGetMainWnd ()->GetDlgItem (IDD_TEXT_DIALOG)->Invalidate();
    ::MoveWindow(this->GetSafeHwnd (),0,0
    ,600,500,true);
      

  5.   

    我一调用GetDlgItem(IDD_XXX_DIALOG)->Invalidate() ;句柄是否正确?
      

  6.   

    就是其他窗口的窗口指针啊,应该对吧,而且放在movewindow前后都试了
      

  7.   

    原来不是window类型,可是::AfxGetMainWnd ()->GetDlgItem (IDD_TEXT_DIALOG)->GetSafeHwnd ()
    不是可以得到一个无模式对话框的窗口句柄吗,怎么会不是呢?