
在子窗口中调用父窗口成员函数的示例
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本示例展示了如何在C++编程环境中,从子窗口对象内部有效地访问和调用其父窗口类中的成员函数。通过这种方法可以实现更灵活、模块化的代码设计,并保持良好的封装性。此教程适合中级程序员参考学习。
在子窗口中调用父窗口的成员函数有两种方法:
1. 使用 `FindWindow(类名(可以是派生类), 窗口标题)` 或者 `GetParent()` 函数,这两种方式都可以返回父窗口句柄,并可以直接使用其成员函数。但是这种方法只能调用 `CWnd` 类中的成员函数,而不能直接访问自己创建的派生类中的函数。
2. 在子窗口初始化时添加一个指向父窗口指针的参数,在子窗口类中通过全局变量保存该指针。例如:假设父窗口类为 CMyDlg(其基类是 CDialog),子窗口类为 CMySon(其基类也是 CDialog)。在 `CMyDlg::OnInitDialog()` 中初始化一个指向子窗口对象的成员,如 `m_myson = new CMySon(this);` (其中 m_myson 是定义在父窗口中的成员变量)。然后,在 MySon.cpp 文件中声明全局变量 `CMyDlg *parent;`(同时需要在 MySon.h 头文件中包含 MyDlg.h),最后在子类构造函数里设置 parent 指针,如 `parent = (CMyDlg*) pParent;`。完成这些步骤后,现在你就可以从子窗口调用父窗口的任何成员函数了!
全部评论 (0)
还没有任何评论哟~


