MFC對話方塊內控制項大小隨著對話方塊大小變化

2021-07-06 09:53:27 字數 386 閱讀 4367

1  首先要知道對話方塊大小是否改變,改變了多少,我們應該記錄當前對話方塊的大小。

在對話方塊類中新增成員變數 crect m_rect 

他是用來記錄當前對話方塊的大小。我們在oninitdialog()函式中獲取對話方塊建立時的大小:getclientrect(&m_rect);

2 增加訊息wm_size的訊息響應函式 onsize():只要對話方塊大小發生變化,就會呼叫該函式。

3 在onsize()函式中增加如下**:(最簡單的為例子,就乙個確定按鈕和取消按鈕)

void cdaxiaobianhuadlg::onsize(uint ntype, int cx, int cy)

} getclientrect(&m_rect);// 將變化後的對話方塊大小設為舊大小 }

MFC如何使控制項大小隨著對話方塊大小自動調整

假設對話方塊類為cmydlg類,那麼首先設定乙個變數 crect m rect 用於儲存原對話方塊大小 那麼在對話方塊建立的時候先獲得對話方塊的大小 bool cmydlg oninitdialog 然後再手動新增乙個函式,用以實現具體的變化 void cmydlg changesize uint ...

MFC如何使控制項大小隨著對話方塊大小自動調整

首先明確的是windows有乙個 wm size 訊息響應函式,這個函式在對話方塊大小發生變化的時候呼叫,所以我們可以記錄下原來對話方塊的大小,還有當前對話方塊的大小 這個不用自己算,系統已給出 然後根據控制項做出相應比例的調整。比如原來對話方塊大小為a,現在為 b,原來控制項大小為 c,那麼現在的...

MFC如何使控制項大小隨著對話方塊大小自動調整

對話方塊的大小變化後,假若對話方塊上的控制項大小不變化,看起來會比較難看。下面就介紹怎麼讓對話方塊上的控制項隨著對話方塊的大小的變化自動調整。首先明確的是windows有乙個wm size訊息響應函式,這個函式在對話方塊大小發生變化的時候呼叫,所以我們可以記錄下原來對話方塊的大小,還有當前對話方塊的...