10.2.2 为对话框类添加成员变量
创建完对话框类后,程序就可以访问控件,获取控件取值或设置控件的值。但是在获取控件时需要注意安全处理,即类型安全的访问方法。此种方法是使用内联成员函数,将类CWnd的GetDlgItem()成员函数的返回类型转换成适当的C++(www.cppentry.com)控件类型,代码如下:
- CButton* CDialogExampleDlg::GetPassCheckBox()
// 获取是否使用密码的按钮 - {
- return (CButton*)GetDlgItem(IDC_CHECK_PASS);
// 返回是否使用密码按钮 - }
- GetPassCheckBox ()->SetState(TRUE);
- // 设置
是否使用密码选择框为选中状态
在上面代码中,GetPassCheckBox()函数负责将ID为IDC_CHECK_PASS的控件转换成CButton*类型,这样在其他函数中就可以像最后一行一样安全地获取控件对象,并调用控件对应的函数。
从上面的过程中可以看出,虽然可以通过GetDlgItem()函数安全地获取控件成员变量,但是如果在程序的多处需要获取,则代码冗余较多。因此为了简化工作量,VC 6.0提供了成员变量向导,可以完成类成员变量的添加,并自动实现安全访问。要添加的成员变量既可以是数据成员,也可以是函数成员。为对话框类添加成员变量的步骤如下:
(1)在类视图中,右击要添加成员变量的对话框类,弹出快捷菜单,如图10-6所示。
(2)要创建数据成员,选择Add Member Variables命令,弹出如图10-7所示的界面。
|
| 图10-6 类快捷菜单 |
|
| 图10-7 添加成员变量 |
在Variable Type文本框输入数据成员的数据类型,在Variable Name文本框中输入添加的数据成员的变量名,在Access单选组中选择要添加的数据成员的访问权限,Public、Protected、Private关键字分别表示公用的、受保护的、私有的。单击OK命令,完成成员变量的增加。
(3)要创建函数成员,选择Add Member Function命令,弹出如图10-8所示的界面。
|
| 图10-8 添加成员函数 |
在Function Type文本框中输入要添加的数据函数的返回值的数据类型。在Function Declaration文本框中输入要添加的函数成员的声明。在Access单选组中选择要添加的函数成员的访问权限,Public、Protected、Private关键字分别表示公用的、受保护的、私有的。在Static复选框中标记函数是否为静态函数。在Virtual复选框中标记要添加的成员函数是否为虚函数。单击OK命令,完成成员函数的增加。