1、控件随着窗口自适应
首先在类视图里面添加OnSize()函数,然后添加一个ChangeSize()函数,头文件中添加如下
//控件自适应变量
POINT old;
CRect m_rect;
void ChangeSize(UINT nID, int x, int y);
afx_msg void OnSize(UINT nType, int cx, int cy);
在OnInitDialog中
//控件自适应
GetClientRect(&m_rect);
old.x = m_rect.right - m_rect.left;
old.y = m_rect.bottom - m_rect.top;
//窗口自适应
void CTestDlg::ChangeSize(UINT nID, int x, int y)
{
CWnd *pWnd;
pWnd = GetDlgItem(nID);
if (pWnd != NULL)
{
CRect rect;
pWnd->GetWindowRect(&rec);
ScreenToClient(&rec);
rect.left = rect.left*x / m_rect.Width();
rect.top = rect.top*y / m_rect.Height();
rect.bottom = rect.bottom*y / m_rect.Height();
rect.right = rect.right*x / m_rect.Width();
pWnd->MoveWindow(rec); //伸缩控件
}
}
//窗口自适应
int count = 0;
void CTestDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: 在此处添加消