以下代码是我在网上看到后整理,并已经过测试,可以直接使用。
一. 本对话框实现所有控件随窗口最大化或恢复原状:
1.将SizeAdjust类添加到工程中,.cpp与.h文件。
2.在**dlg.cpp文件#include"SizeAdjust.h"
3.定义一全局CRect变量rectWholerect,在初始化函数中:GetClientRect(rectWholerect);//获取当前窗口的大小
4.添加OnSize(UINT nType, int cx, int cy) 消息函数,在函数中加入:
CSizeAdjust sizeadjust;
sizeadjust.OnSizeAdjust(rectWholerect,this,cx,cy);
即可实现,本对话框中所有控件随窗口大小自动变化。
二. 如果主对话框中有tab控件,即主对话框中有若干个子对话框,怎样改变里面的控件大小呢:
1.在主对话框的OnSize(UINT nType, int cx, int cy) 消息函数中添加:
if(nType!=SIZE_MINIMIZED )//注意这个必须要有,否则最小化后再最大化就会有问题
{
if(para1.GetSafeHwnd() && para2.GetSafeHwnd())//假设这里有2个子对话框
{
CRect rc;
m_maingroup.GetClientRect(