文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
15.6 使用 wxModule
wxWidgets 的模块管理系统是一个很简单的系统,它允许应用程序(以及 wxWidgets 自己) 可以定义将被 wxWidgets 自动在开始和退出时执行的初始化和资源清理代码.这有助于避免应用程序在 OnInit 函数和 OnExit 函数中依它们功能的需要添加过多的代码。
要定义一个这样的模块,你需要实现一个 wxModule 的派生类,重载其 OnInit 和 OnExit 函数,然后在其声明部分使用 DECLARE_DYNAMIC_CLASS 宏,在其实现部分使用 IMPLEMENT_DYNAMIC_CLASS 宏(它们可以位于同一个文件内). 在系统初始化的时候,wxWidgets 会找到所有 wxModule 的派生类,创建一个它的实例然后执行其 OnInit 函数,而在系统退出时执行其 OnExit 函数。
举例如下:
// 下面这个模块用来自动进行 DDE 的初始化和清除动作.
class wxDDEModule: public wxModule
{
DECLARE_DYNAMIC_CLASS(wxDDEModule)
public:
wxDDEModule() {}
bool OnInit() { wxDDEInitialize(); return true; };
void OnExit() { wxDDECleanUp(); };
};
IMPLEMENT_DYNAMIC_CLASS(wxDDEModule, wxModule)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论