我在我的MFC應用程序中設置了一個分層窗口。我已經建立了我自己的CDialog派生,以允許我定製窗口呈現方式的各個部分。一切正常,直到我開始擔心最小化和最大化。UpdateLayeredWindow,SIZE_RESTORED和GetClientRect問題
如果您單擊最小化或最大化,那麼窗口的反應與您預期的完全相同(即完全像不使用分層窗口時那樣)。但是,當我恢復窗口時發生了一些非常奇怪的事情。
我的測試窗口的默認客戶端矩形是324x102。例如,當我從最小化狀態恢復時,傳遞給OnSize的cx和cy是994,550。如果我然後在OnSize中執行GetClientRect,則這是窗口報告的大小。奇怪的是,雖然如果我做GetWindowRect我得到正確的大小(儘管顯然包括我所有的非客戶區)。
有沒有人知道這裏發生了什麼,更重要的是,我如何解決這個問題,讓GetClientRect報告正確的信息?
在此先感謝!