如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽
控制項是從cwnd派生的,但不能使用setwindowpos()或onsize()或onsizing()來改變其大小,應在父視窗的wm_size訊息中使用movewindow()來進行調整。
vc++之根據對話方塊大小調整控制項大小
1、在對話方塊類中加入成員變數crect m_rect;用於儲存對話方塊大小變化前的大小;
2、在對話方塊的oninitdialog()函式中獲取對話方塊建立時的大小:getclientrect(&m_rect);
3、在wm_size的響應函式onsize()中加入以下**:
*pwnd;
=getdlgitem(idc_list);
//獲取控制項控制代碼
if(pwnd)
//判斷是否為空,因為對話方塊建立時會呼叫此函式,而當時控制項還未建立
getclientrect(
&m_rect);
//將變化後的對話方塊大小設為舊大小
解決乙個bug:
加上 if(ntype!=1){}
或者 if(ntype!=size_minimized ){}
不然視窗最小化後再恢復就產生bug(整數除以0)
VC 之隨父視窗變化調整控制項大小
如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽 控制項是從cwnd派生的,但不能使用setwindowpos 或onsize 或onsizing 來改變其大小,應在父視窗的wm size訊息中使用movewindow 來進行調整。vc 之根據對話方塊大小調整控制項大小 ...
VC 之隨父視窗變化調整控制項大小
如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽 控制項是從cwnd派生的,但不能使用setwindowpos 或onsize 或onsizing 來改變其大小,應在父視窗的wm size訊息中使用movewindow 來進行調整。vc 之根據對話方塊大小調整控制項大小 ...
VC 之隨父視窗變化調整控制項大小 zz
如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽 控制項是從cwnd派生的,但不能使用setwindowpos 或onsize 或onsizing 來改變其大小,應在父視窗的 wm size訊息中使用movewindow 來進行調整。vc 之根據對話方塊大小調整控制項大小...