点击控件按钮时,显示右边隐藏的窗口:
类中初始化:
BOOL CMFCApplication7Dlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
SetWindow();
OnBnClickedCheck1();
return TRUE;
}
void CMFCApplication7Dlg::OnBnClickedCheck1()//控件的点击事件处理
{
/*点击时显示隐或藏右边区域*/
state = ((CButton *)GetDlgItem(IDC_CHECK1))->GetCheck();
if (state == 0)
SetWindowPos(NULL, 0, 0, rectSmall.Width(), rectSmall.Height(), SWP_NOMOVE | SWP_NOZORDER);
else
SetWindowPos(NULL, 0, 0, rectLarge.Width(), rectLarge.Height(), SWP_NOMOVE | SWP_NOZORDER);
// TODO: 在此添加控件通知处理程序代码
}
void CMFCApplication7Dlg::SetWindow()//对右边窗口的初始化设置
{
if (rectLarge.IsRectNull())
{
GetWindowRect(&rectLarge);
CRect picRect;
GetDlgItem(IDC_STATIC)->GetWindowRect(&picRect);
rectSmall.left = rectLarge.left;
rectSmall.top = rectLarge.top;
rectSmall.right = picRect.right;
rectSmall.bottom = rectLarge.bottom;
}
}
头文件声明部分:
public:
afx_msg void OnBnClickedCheck1();
CRect rectLarge;//对话框原始尺寸
CRect rectSmall;//切割后的尺寸
int state;
最简单的显示,点击控件,显示右边区域,默认隐藏右边区域。