第3节 通过函数建立控件型关联变量
更新于 2026年10月10日
版权声明
第3节 通过函数建立控件型关联变量
在CWnd类中包含一系列将窗口与变量关联的函数,如下。
1)CWnd::Attach。将一个窗口句柄嫁接到一个CWnd类型变量中。
2)CWnd::Detach。移除嫁接到CWnd变量中的句柄。
3)CWnd::SubclassWindow。子类化一个窗口句柄到CWnd派生类变量中(不但要把句柄关联进入CWnd对象中,而且还要将窗口的消息映射到CWnd的子类中)。
4)CWnd::UnsubclassWindow。解除子类化。
5)CWnd::SubclassDlgItem。根据窗口ID子类化对应的窗口。
使用MFC应用程序向导,创建一个工程名为“vs”的对话框程序,演示通过函数建立关联变量。
1)修改主对话框的外观和字体并添加一些控件,如图6-11所示。

图6-11 编辑主对话框资源
2)修改主对话框的控件属性,见表6-3。
表6-3 主对话框的控件属性
(https://www.daowen.com)
3)在对话框类的头文件中,加入4个控件类型的变量。

4)修改对话框初始化函数,通过调用函数建立控件窗口和变量的关联。


5)添加WM_DESTROY消息映射函数并修改代码。

6)为增、删、改3个按钮建立消息映射函数并修改代码。


7)编译并运行,测试代码。
实际上类向导建立的关联变量,内部也是调用子类化函数实现的,但是使用向导建立关联变量更加方便一些。因此,在后续章节中,主要使用类向导建立关联变量。