首先在***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获取变化后对话框客户区大小
//计算各个参数值,利用每个