none
MDI窗口中调用SetWindowRgn函数后.... RRS feed

  • 问题

  • 在MDI程序的MainFrame::OnCreate中调用SetWindowRgn函数后,再稍移动一下主窗口,子窗口就无法移了,再改变一下主窗口的大小,又可以正常移动,是什么情况????高手帮忙,谢谢!!!!!
    2014年7月9日 6:48

全部回复

  • 是问题没有说清楚嘛!!!

    1. 新建一个标准MFC MDI程序

    2. 往OnCreate添加代码

    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
    {

     ............

     CRect rc; 

    GetWindowRect(&rc);

     CRgn rgn; 

    rgn.CreateRectRgn(0, 0, rc.Width(), rc.Height());

     ::SetWindowRgn(m_hWnd, rgn, TRUE);

    }

    3. 运行,此时的子窗口是可以移动的

    4. 移动一下主窗口,子窗口无法移动??

    如果不调用 SetWindowRgn(NULL, FALSE);如何解决?



    • 已编辑 dskwpho 2014年7月11日 11:29
    2014年7月11日 11:28