怎样的运行时把一张标准的Form设置成MDI的子窗体?
如下这个函数,设定出来的子窗体好像不是真正的子窗体
WINAPI int SetChild(HWND hMainForm,HWND hCHildForm)
{
CWindow myWindow;
myWindow.Attach(hCHildForm);
HWND hWndPrevParent = myWindow.SetParent(hMainForm);
         myWindow.MessageBox("That is Good.","OK",MB_OK);
         return 1;
}

解决方案 »

  1.   

    SetWindowLong(hwnd,GWL_STYLE,WS_CHILD);再进行!
      

  2.   

    加了这个SetWindowLong什么用,还是一样。
      

  3.   

    加了这个SetWindowLong没有什么用,还是一样。
      

  4.   

    在MDI中,ChildFrame 的父窗口并不是 MainFrame, 而是一个类名叫 MDIClient 的窗口。所以可以这样WINAPI int SetChild(HWND hMainForm,HWND hCHildForm)
    {
    CWindow myWindow;
    myWindow.Attach(hCHildForm);         HWND hClient = FindWindowEx(hMainFrom, NULL, "MDIClient", "");
             if( hClient != NULL )
            {
             HWND hWndPrevParent = myWindow.SetParent(hClient);
             myWindow.MessageBox("That is Good.","OK",MB_OK);
             }
             else
             myWindow.MessageBox("There should be another way, try again!","OK",MB_OK);
             return 1;
    }