EASY SIZE 控制項隨視窗變化自由調整大小

2021-05-17 18:20:40 字數 958 閱讀 3986

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移動到新位置 對話方塊或視類的大小調後,控制項的大小和位置沒...