当我最大化我的一个mdi客户端窗口时。然后我坚持最大化,我需要能够恢复它以查看其他窗口。
WNDCLASSEX wc;
wc.cbSize = sizeof(WNDCLASSEX);
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
wc.lpfnWndProc = CWindowHandler::MsgRouter;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = NULL;
wc.lpszClassName = childClassName;
wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
hChild = CreateMDIWindow(childClassName, "Segments", WS_OVERLAPPEDWINDOW, m_winRect.left, m_winRect.top, m_winRect.right - m_winRect.left, m_winRect.bottom - m_winRect.top, CWindowHandler::GetInstance()->GetMDIClient(), m_hInstance, (LPARAM)this);
答案 0 :(得分:0)
我相信您必须添加样式MDIS_ALLCHILDSTYLES才能获得所需的窗口样式。来自MSDN ...
MDI子窗口的样式。 如果创建了MDI客户端窗口 使用MDIS_ALLCHILDSTYLES窗口样式,此参数可以是任何参数 窗口样式页面中列出的窗口样式的组合。 否则,此参数仅限于以下一项或多项 值。
答案 1 :(得分:0)
我通过调用return DefMDIChildProc(m_Hwnd,msg,wParam,lParam)修复了这个问题。在WM_SIZE:子窗口的wndprocs的情况下。上帝知道为什么,但它有效。