2015-03-03 87 views
0

當我最大化我的一個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

我通過調用return DefMDIChildProc(m_Hwnd,msg,wParam,lParam)來解決這個問題;在WM_SIZE:子窗口的wndprocs的情況下。上帝知道爲什麼,但它的工作。

0

我相信你將不得不添加樣式MDIS_ALLCHILDSTYLES爲了獲得你想要的窗口樣式。從MSDN ...

MDI子窗口的樣式。 如果使用MDIS_ALLCHILDSTYLES窗口樣式創建了MDI客戶端窗口 ,則此參數可以是窗口樣式頁面中列出的窗口樣式的任意 組合。 否則,此參數僅限於以下一個或多個 值。

+0

謝謝,但我只是試過,並得到相同的結果。我試過MDIS_ALLCHILDSTYLES | CreateMDIWindow()中的WS_OVERLAPPEDWINDOW。還有什麼奇怪的是我也試過| WS_MAXIMIZE使它最初最大化,不僅使它最初最大化,而且還添加了缺失的還原和最小化按鈕,但是按下它們什麼都不做。 – 2015-03-04 16:35:27

相關問題