网上一片控件自适应的伪代码//最一句代码声明代码没有,能否补全?
CRect m_ClientRect;
this->GetClientRect(&m_ClientRect);
CSize m_Forsize;
m_Forsize = GetTotalSize();
//在资源编辑器中定好大小后,程序运行时大小(不管最大化和最小化,该大小均为同一个值),客户区大于或等于显示的大小
double m_x = (double)m_ClientRect.Width() / m_Forsize.cx;
//宽度方向发大倍数
double m_y = (double)m_ClientRect.Height() / m_Forsize.cy;
//高度方向发大倍数
//调整控件的大小
CWnd *pWnd = NULL;
pWnd = GetWindow(GW_CHILD);
while(pWnd)
//判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建
{
CRect rect;
//获取控件变化前大小
pWnd->GetWindowRect(&rect);
ScreenToClient(&rect);
//将控件大小转换为在对话框中的区域坐标
m_ControlRect.insert(pair<int, CRect>(pWnd->GetDlgCtrlID(), rect));
//保存控件的初始大小,以便在OnSize函数中继续使用