视类中加成员函数和成员变量:
void SetControlInfo(WORD CtrlId);
protected:
int m_old_cx,m_old_cy;
CDWordArray m_control_info;
构造函数中初始化:
m_old_cx = m_old_cy = 0;
加控件信息的函数定义:
void CTestFormView::SetControlInfo(WORD CtrlId)
{
m_control_info.Add(CtrlId);
}
修改OnSize函数:
void CTestFormView::OnSize(UINT nType, int cx, int cy)
{
if(cx==0 || cy==0)
{
cx=800;
cy=600;
}
CFormView::OnSize(nType, cx, cy);
float dx_percent = (m_old_cx ==0)? 1 : (float)((float)cx/(float)m_old_cx);
float dy_percent = (m_old_cy ==0)? 1 : (float)((float)cy/(float)m_old_cy);
if(m_old_cx)
{
CRect WndRect;
CWnd *pWnd;
for(int i = 0; i < m_control_info.GetSize(); i++)
{
pWnd = GetDlgItem(m_control_info[i]);
if(!pWnd)
{
TRACE( "Control ID - %d NOT FOUND!!\n ",m_control_info[i]);
continue;
}