對話方塊最小化最大化時,相應控制項也跟著發生變化

2022-05-01 13:15:10 字數 475 閱讀 3870

void clastpackagedlg::onsyscommand(uint nid, lparam lparam)

if ((nid & 0xfff0) == idm_aboutbox)

else

}void clastpackagedlg::onsize(uint ntype, int cx, int cy)

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

該方法改進:

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

cwnd *pwnd;

pwnd = getdlgitem(idc_list_data_show); //需要變化哪些控制項,就獲取哪些控制項的指標

if(pwnd)

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

}

限制對話方塊最大化時對話方塊的大小

1 新建乙個基於對話方塊的mfc應用程式limitmaxdialogtest,刪除對話方塊中原有控制項。2 切換到資源檢視,設定對話方塊maximize box 屬性為true。3 新增wm getminmaxinfo訊息的處理函式,如下 void climitmaxdialogtestdlg on...

c 最大化最小化事件

const int wm syscommand 0x112 const int sc close 0xf060 const int sc minimize 0xf020 const int sc maximize 0xf030 protected override void wndproc ref ...

對話方塊最大化和開啟檔案

對話方塊最大化時,使控制項大小也隨對話方塊視窗變化 給對話方塊新增wm size訊息,生成函式中新增 void cdatashowdlg onsize uint ntype,int cx,int cy getclientrect m rect 將變化後的對話方塊大小設為舊大小 invalidate ...