1.設定對話方塊屬性
:styles->broder:resizing 2.
新增#include"easysize.h" 3.
在對話方塊類定義的最前面新增
declare_easysize(注意:
沒有分號)4.
在對話方塊的
oninitdialog
訊息函式中新增
:oninitdialog()
5.過載訊息
wm_size
訊息函式
:onsize(uint ntype, int cx, int cy)
6.在end_message_map()的後面下一行新增:
begin_easysize_map(
對話方塊類名)
easysize(control,left,top,right,bottom,options)
easysize(.......)
end_easysize_map
easysize()詳解:
(1).control:
需要調整大小的控制項的
id;(2).left,top,right,bottom:
為控制項左上角和右下角的座標
(亦可以看作控制項的四條邊
),取值可以為
:es_border:
控制項與對話方塊邊界的距離;
es_keepsize:
控制項水平
/垂直方向上尺寸保持不變;
控制項id值:
當前控制項與指定控制項之間的距離;
(3).
options:
可以為es_hcenter, es_vcenter
的結合,
options可置0
。 es_hcenter
表示縮放後控制項在指定位置內水平居中;
es_vcenter
表示縮放後控制項在指定位置內垂直居中;
MFC小筆記 控制項隨視窗變化
當視窗大小變化時,如最大化 最小化時,控制項位置和大小並沒有變化,本文實現此功能。主介面為對話方塊,有最小化 最大化 關閉等功能。當視窗變化時,響應 onsize 函式,並計算各控制項位置,按比例縮放。在對話方塊類嚮導中新增 wm size 訊息。其函式定義如下 afx msg void onsiz...
控制項大小隨視窗變化的正確方法
一.在介紹這個方法之前先看下在網上見過一種方法 vc 之根據對話方塊大小調整控制項大小 1 在對話方塊類中加入成員變數crect m rect 用於儲存對話方塊大小變化前的大小 2 在對話方塊的oninitdialog 函式中獲取對話方塊建立時的大小 getclientrect m rect 3 在...
VC 之隨視窗變化調整控制項大小
總結步驟 1.建立乙個cwnd 的陣列,在初始化時取的各個控制項的控制代碼,存在這個陣列裡面 2.處理wm size事件,可以得到新變化後的視窗和最初視窗的變化比例kx,ky 3.對陣列中的每乙個控制項,計算新位置 4.movewindow移動到新位置 對話方塊或視類的大小調後,控制項的大小和位置沒...