MFC设置控件随着窗口自动拉伸变形

本文介绍了在MFC中如何利用EasySize宏实现对话框及控件随着窗口大小自动调整,包括设置对话框属性、引用EasySize头文件、声明和初始化EASYSIZE、响应WM_SIZE消息等步骤,以及EASYSIZE宏的详细用法。
摘要由CSDN通过智能技术生成

要让对话框中的控件随着对话框大小的变化进行自动调整,这个需要自己在WM_SIZE的响应函数中对所有的控件用MoveWindow()或者SetWindowPos()设置其变化比例,极其繁琐,使人头疼!!

推荐使用EasySize作为解决方案,它用一些宏封装了内部的实现机制,使用起来方便快捷!!很不错哦!
说个题外话:我用VS2012创建的基于对话框的工程,默认生成的对话框,无法用easysize使得控件随着对话框大小自动调整。不过,如果是自己新建的对话框是可以的,于是乎,我舍弃了项目自动生成的对话框,自己新建了一个作为主要的操作窗口,以便在项目中使用的是easysize实现的控件随着窗口自动拉伸变形、缩放。

 

下面进入主题,easysize的使用如下:

MFC怎么设置窗口和控件自动拉伸变形?

MFC如何使控件大小随着对话框大小自动调整 ?

 

1、设置对话框属性:Styles->Broder:Resizing

2、网上下载文件EasySize.h文件,并stdafx.h中引用EasySize.h头文件(同时将EasySize.h放到你的程序目录中)

3、在对话框类定义的最前面添加DECLARE_EASYSIZE(注意:没有分号),如下

Class CEasySizeDemoDlg::public CDialog

{

DECLARE_EASYSIZE

...

}

题外话:在VS2012中不是CDialog,而是CDialogEx

 

4、在对话框的OnInitDialog消息函数中添加INIT_EASYSIZE,放到函数尾处。

OnInitDialog()

{

    CDialog::OnInitDialog();

    ........

    INIT_EASYSIZE;

   return TRUE;

}

5、添加响应WM_SIZE消息,在生成的响应函数中添加UPDATA_

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值