VC 之隨視窗變化調整控制項大小

2021-05-25 13:39:47 字數 671 閱讀 8031

總結步驟:

1.建立乙個cwnd*   的陣列,在初始化時取的各個控制項的控制代碼,存在這個陣列裡面  

2.處理wm_size事件,可以得到新變化後的視窗和最初視窗的變化比例kx,ky  

3.對陣列中的每乙個控制項,計算新位置  

4.movewindow移動到新位置

對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽控制項是從cwnd派生

的,但不能使用setwindowpos()或onsize()或onsizing()來改變其大小,應在父視窗的wm_size訊息中使

用movewindow()來進行調整。

vc++之根據對話方塊大小調整控制項大小

1、在對話方塊類中加入成員變數crect m_rect;用於儲存對話方塊大小變化前的大小;

2、在對話方塊的oninitdialog()函式中獲取對話方塊建立時的大小:getclientrect(&m_rect);

3、在wm_size的響應函式onsize()中加入以下**:

cwnd *pwnd;

pwnd = getdlgitem(idc_list);     //獲取控制項控制代碼

if(pwnd)//判斷是否為空,因為對話方塊建立時會呼叫此函式,而當時控制項還未建立

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

VC 之隨父視窗變化調整控制項大小

如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽 控制項是從cwnd派生的,但不能使用setwindowpos 或onsize 或onsizing 來改變其大小,應在父視窗的wm size訊息中使用movewindow 來進行調整。vc 之根據對話方塊大小調整控制項大小 ...

VC 之隨父視窗變化調整控制項大小

如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽 控制項是從cwnd派生的,但不能使用setwindowpos 或onsize 或onsizing 來改變其大小,應在父視窗的wm size訊息中使用movewindow 來進行調整。vc 之根據對話方塊大小調整控制項大小 ...

VC 之隨父視窗變化調整控制項大小

如果對話方塊或視類的大小調後,控制項的大小和位置沒有變化,介面看起來會很不爽 控制項是從cwnd派生的,但不能使用setwindowpos 或onsize 或onsizing 來改變其大小,應在父視窗的wm size訊息中使用movewindow 來進行調整。vc 之根據對話方塊大小調整控制項大小 ...