扩展和收缩对话框
折叠状态对话框 对话框处于展开状态 有时候,在一个对话框中只显示重要的部分,并使用一个通常标记为“更多”的按钮,当用户点击它时展开对话框可能会很有用。一旦对话框被展开,“更多”按钮就会显示“更少”,一旦用户点击“更少”按钮,对话框就会缩小到初始大小。 CExpandDialog类为您执行此操作。您所要做的就是将DialogExpander.cpp文件添加到您的项目中,并对对话框类和模板进行一些小的更改。 修改你的对话框类的头文件,像这样:复制Code
///////////////////////////////////////////////////////////////////////////// // CExpandDialogDlg dialog #include "DialogExpander.h" //<<<< add here ... class CExpandDialogDlg : public CDialog { ... protected: ... CExpandDialog m_ExpandDialog ; //<<<< add here ... }
修改OnInitDialog函数对话框类如下:复制Code
BOOL CExpandDialogDlg::OnInitDialog() { CDialog::OnInitDialog(); m_ExpandDialog.Initialize(this, FALSE, IDC_MOREBUTTON, IDC_SHRINKMARK, IDC_EXPANDEDMARK, IDC_LESSTEXT) ; //<<<< add here ... }
在类向导中,为“更多”按钮添加一个处理程序(例如OnMore()),并像这样修改它:复制Code
void CExpandDialogDlg::OnMore() { m_ExpandDialog.OnExpandButton() ; }
对话框模板必须包含两个特殊的静态控件。当对话框处于折叠状态时,显示对话框底部的位置(下面的图例为1),当对话框处于扩展状态时,显示在“多/少”按钮上的字符串(下面的图例为2)。这两个控件将不会显示,因为CExpandDialog类将自动隐藏它们。 本文转载于:http://www.diyabc.com/frontweb/news6612.html