MFC中控件大小随对话框大小动态变化

首先在***Dlg.h头文件中定义

CRect m_rectmin;//用于存储初始化对话框的大小
CRect Button1Rectinit;//用于存储初始化控件的大小

然后定义一个变化函数

//控件大小位置随对话框大小任意变化  
//参数是控件ID  控件初始化参数lpRect 
void autosize(UINT nID,LPRECT lpRect);


在***Dlg.cpp文件中,添加如下代码:

***Dlg::OnInitDialog()
{
    ******
GetWindowRect(&m_rectmin);//获取对话框大小初始值
	
//获取对话框中各个控件的大小初始值
CWnd *pWnd;
pWnd = GetDlgItem(IDC_BUTTON1);         //获取按钮1句柄
pWnd->GetWindowRect(&Button1Rectinit);
********
}


 

void CPISProcToolsDlg::autosize(UINT nID,LPRECT lpRect)
{
	CWnd *pWnd;
	pWnd = GetDlgItem(nID);   //获取控件句柄
	if(!pWnd) return;         //判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建

	CRect rect,recttemp;       //定义rect为控件变化后的参数    
	GetClientRect(&recttemp);  //recttemp获取变化后对话框客户区大小
	
//计算各个参数值,利用每个
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值