您的位置:首页 > 其它

MFC对话框扩展区域显示(可伸缩对话框区域)

2016-06-16 17:47 369 查看
一、新建对话框程序

对话框布局为:

黑色区域为初始显示区域。
红色区域为扩展区域。




二、在OnInitDialog()中添加获取区域代码:

.h头文件
/// 成员变量
CRect m_rect; //黑色区域 + 红色区域
CRect m_rtFace; // 黑色区域

GetWindowRect(&m_rect);
/// IDC_STATIC_TITLE,静态文本Static的ID
GetDlgItem(IDC_STATIC_TITLE)->GetWindowRect(&m_rtFace);

OnBnClickedButton();//设置初始区域显示,否则包含扩展区域


三、设置按钮的扩展实现

void CDlg::OnBnClickedButton()
{
// TODO: Add your control notification handler code here
CString str;

if (GetDlgItemText(IDC_BUTTON2, str), str == _T("设置>>"))
SetDlgItemText(IDC_BUTTON2, _T("设置<<"));
else
SetDlgItemText(IDC_BUTTON2, _T("设置>>"));

CRect rtSmall;
rtSmall.SetRectEmpty();
if (rtSmall.IsRectEmpty())
{
rtSmall.left = m_rect.left;
rtSmall.top = m_rect.top;
rtSmall.right = m_rtFace.right+20;
rtSmall.bottom = m_rect.bottom;
}
if (str == "设置<<")
{
SetWindowPos(NULL, 0, 0, rtSmall.Width(), rtSmall.Height(), SWP_NOMOVE | SWP_NOZORDER);
}
else
{
SetWindowPos(NULL, 0, 0, m_rect.Width(), m_rect.Height(), SWP_NOMOVE | SWP_NOZORDER);
}


四、效果实现图

扩展区域可以扩展与收缩。

初始界面:



点击设置按钮后:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息