2012-03-30 68 views
0

我想將SDI應用程序中的幀窗口調整到子視圖窗口的給定維度(我希望幀適合圖像的維度)。任何人都可以描述一個(優雅的)解決方案來查找子視圖客戶端大小和框架窗口大小之間的關係,而無需實際調整窗口大小?調整SDI幀的大小

目前我使用GetParentFrame() - > MoveWindow(,,,)來調整框架窗口的大小。我已經試圖觀察GetParentWindow() - > GetClientRect()和GetParentWindow() - > GetWindowRect()之間的區別,但它沒有幫助。

+0

如果你對'GetClientRect'的結果做了'ClientToScreen',這有幫助嗎? – 2012-03-30 21:04:31

+0

問題是我不得不考慮滾動條。 – Cristi 2012-04-03 20:08:48

回答

0

看一看CWnd::CalcWindowRect。它計算持有給定客戶區域所需的窗口大小。我從來沒有用過它,所以我不知道它如何處理工具欄等,但我認爲它可以是一個很好的起點。

+0

是的,這是一個很好的提示。我試圖使用它,但它不起作用,我認爲它沒有解釋一些事情。不過,我從你的提示中發現了一些關於網絡的想法,我會嘗試一下。 – Cristi 2012-04-02 20:37:20