积极答复者
如何使mdi的子窗口移出主框架外

问题
答案
-
子框架窗口受限于父框架窗口的显示区域,除非子框架窗口调用SetParent()修改所属的父窗口为其它窗口。但是这样会带来其它一系列的问题(比如点击File菜单的New菜单项,程序有可能会崩溃)。
您可以直接弹出一个窗口出来,类似这样:
CFrameWnd* pFrame = new CFrameWnd; CCreateContext cc; cc.m_pCurrentDoc = NULL; cc.m_pCurrentFrame = pFrame; cc.m_pNewViewClass = RUNTIME_CLASS(CXXXView); pFrame->Create(NULL, _T("Frame"), WS_OVERLAPPEDWINDOW, CFrameWnd::rectDefault, NULL, NULL, 0, &cc); pFrame->ShowWindow(SW_SHOW); pFrame->UpdateWindow();
Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
- 已建议为答案 Elegentin XieModerator 2012年9月27日 7:59
- 已标记为答案 Elegentin XieModerator 2012年10月2日 7:57
全部回复
-
子框架窗口受限于父框架窗口的显示区域,除非子框架窗口调用SetParent()修改所属的父窗口为其它窗口。但是这样会带来其它一系列的问题(比如点击File菜单的New菜单项,程序有可能会崩溃)。
您可以直接弹出一个窗口出来,类似这样:
CFrameWnd* pFrame = new CFrameWnd; CCreateContext cc; cc.m_pCurrentDoc = NULL; cc.m_pCurrentFrame = pFrame; cc.m_pNewViewClass = RUNTIME_CLASS(CXXXView); pFrame->Create(NULL, _T("Frame"), WS_OVERLAPPEDWINDOW, CFrameWnd::rectDefault, NULL, NULL, 0, &cc); pFrame->ShowWindow(SW_SHOW); pFrame->UpdateWindow();
Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
- 已建议为答案 Elegentin XieModerator 2012年9月27日 7:59
- 已标记为答案 Elegentin XieModerator 2012年10月2日 7:57