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;
}
pWnd-> GetWindowRect(&WndRect);
ScreenToClient(&WndRect);
WndRect.left = (int)(WndRect.left*dx_percent);
WndRect.right = (int)(WndRect.right* dx_percent);
WndRect.bottom = (int)(WndRect.bottom*dy_percent);
WndRect.top = (int)(WndRect.top*dy_percent);
pWnd-> MoveWindow(&WndRect);
}
}
m_old_cx = cx;
m_old_cy = cy;
}
在OnInitialUpdate函数中加入控件ID:
SetControlInfo(IDC_BUTTON1);
......
控件大小随窗口比例变换
最新推荐文章于 2020-09-18 20:41:15 发布