MFC对话框扩展区域显示(可伸缩对话框区域)
2016-06-16 17:47
369 查看
一、新建对话框程序
对话框布局为:
二、在OnInitDialog()中添加获取区域代码:
三、设置按钮的扩展实现
四、效果实现图
扩展区域可以扩展与收缩。
初始界面:
点击设置按钮后:
对话框布局为:
黑色区域为初始显示区域。 红色区域为扩展区域。
二、在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); }
四、效果实现图
扩展区域可以扩展与收缩。
初始界面:
点击设置按钮后:
相关文章推荐
- Visual C++中MFC消息的分类
- MFC中Radio Button的用法详解
- MFC对话框中添加状态栏的方法
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- C++ 关于MFC多线程编程的注意事项
- MFC程序对文件的处理方法
- MFC自定义消息的实现方法
- MFC实现在文件尾追加数据的方法
- MFC之ComboBox控件用法实例教程
- MFC绘制不规则窗体的方法
- IE8引发 VS2005/2008 MFC向导出错的解决方案
- MFC实现全屏功能代码实例
- 使用VS2010创建MFC ActiveX工程项目
- C++中MFC Tab Control控件的使用详解
- MFC程序设计常用技巧汇总
- MFC扩展DLL中导出类和对话框的实现方法
- VC中SDK与MFC的区别浅析
- 浅谈MFC 改变控件大小和位置
- VC MFC非模态对话框的实现方法