wxWidgets:wxApp概述
在我们编写wxWidgets应用程序的时候,我们不需要为之定义一个main函数;不过我们需要实现wxApp派生类的一个成员函数OnInit,它的地位大致等价于一般C++程序中的main。
一般来说OnInit至少要做一件事情,那就是创建一个顶层窗口。
强烈建议在创建新的子窗口时总是将其作为一个已有窗口的子窗口,这样在删除上层窗口的时候子窗口会自动删除。如果你有充足的理由不这么做,那么你至少应该在顶层窗口的wxCloseEvent事件处理函数中删除所有不受管的子窗口。
如果你需要访问你的应用程序从wxApp派生的类,可以使用wxTheApp全局指针变量,这是一个wxApp*类型。
上文说了,wxWidgets尽量替我们管理子窗口的关闭动作;所以下面的代码是会出问题的:
// 错误代码示例
class MyApp : public wxApp
{
public:
wxCHMHelpController m_helpCtrl;
...
};
问题的原因在于,MyApp和wxApp析构前会先删除wxWidgets结构,因此当m_helpCtrl在MyApp的析构函数中被清理时,它所依赖的wxWidgets资源已经不存在了。
可行的办法是在MyApp::OnInit中new一个wxCHMHelpController,然后在MyApp的OnExit中删除之。
wxWidgets:wxApp概述的更多相关文章
- wxWidgets
wxWidgets Code::Blocks环境 Code::Blocks下载: Code::Blocks使用: codeblocks-16.01mingw-setup.exe 它的gcc版本为4.9 ...
- 基于libvlc和wxWidgets的简单播放器代码阅读
源代码来自 http://git.videolan.org/?p=vlc.git;a=blob_plain;f=doc/libvlc/wx_player.cpp // g++ wx_player.cp ...
- [zhuan] linux 下 wxWidgets 安装,编译
http://blog.csdn.net/yuzhenxiong0823/article/details/7727133 wxWidgets在Linux下有wxGTK和wxX11供使用,各需要GT ...
- [wxWidgets] 2. 重访“Hello World” 程序
这是四年多来在博客园的第二篇博客.有了上一次的排版使用经验,这一篇文章应该有些进步(^_^). 闲话按下不表,言归正传.在编译.成功运行了上一个helloWorld.cpp(后文中'hw'简称hell ...
- [wxWidgets] 1. 安装及"hello world"程序
关于wxWidgets的优越已经在它的官方网站有所阐述,本文不再赘述. 本系列主要记录学习这个软件包过程中遇到的问题以及心得. 1. 安装 从源码安装虽然大多时候不是一件轻松的过程,但是基于以下两个 ...
- VS2013搭建wxWidgets开发环境
一.安装 前往官网下载最新wxWidgets 3.0.0. https://sourceforge.net/projects/wxwindows/files/3.0.0/wxMSW-3.0.0-Set ...
- [ZETCODE]wxWidgets教程九:组件专题2
本教程原文链接:http://zetcode.com/gui/wxwidgets/widgetsII/ 翻译:瓶哥 日期:2013年12月15日星期日 邮箱:414236069@qq.com 主页:h ...
- [ZETCODE]wxWidgets教程八:组件专题1
本教程原文链接:http://zetcode.com/gui/wxwidgets/widgets/ 翻译:瓶哥 日期:2013年12月12日星期四 邮箱:414236069@qq.com 主页:htt ...
- [ZETCODE]wxWidgets教程七:对话框
本教程原文链接:http://zetcode.com/gui/wxwidgets/dialogs/ 翻译:瓶哥 日期:2013年12月9日星期一 邮箱:414236069@qq.com 主页:http ...
随机推荐
- SQL Server 调优系列玩转篇三(利用索引提示(Hint)引导语句最大优化运行)
前言 本篇继续玩转模块的内容,关于索引在SQL Server的位置无须多言,本篇将分析如何利用Hint引导语句充分利用索引进行运行,同样,还是希望扎实掌握前面一系列的内容,才进入本模块的内容分析. 闲 ...
- 快速切题 hdu2416 Treasure of the Chimp Island 搜索 解题报告
Treasure of the Chimp Island Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ( ...
- 跟我一起学习ASP.NET 4.5 MVC4.0(四)
前几个文章中介绍了一些关于MVC4.0的东东,今天我们来看一下登陆验证,也可以说是权限验证,即AuthorizeAttribute.这个可以使用在控制器Controller上,也可以使用在Action ...
- Oracle 从共享池删除指定SQL的执行计划
ORACLE从共享池删除指定SQL的执行计划 2016-12-29 11:14 by 潇湘隐者, 2836 阅读, 0 评论, 收藏, 编辑 Oracle 11g在DBMS_SHARED_POOL包中 ...
- Java——文件过滤器
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- Alpha阶段项目复审
队名 优点 缺点 名次 大马猴队 出现BUG修复时间短:针对初期用户需求的分析缺点能够快速更正,针对用户痛点实现了功能:开发的过程中削减了无用的功能,源代码管理比较好,更改能够及时提交,相关成员都有参 ...
- html网页设计
对于html文档可以直接通过浏览器打开并解释执行,不需要使用服务器.一个html文档的架构,一般由3对标签构成:<html></html>,<head></h ...
- HTML项目总结
一些存在的可以改进的地方: 达到一个效果不必要墨守成规,比如:
- spring集成redis——主从配置以及哨兵监控
Redis主从模式配置: Redis的主从模式配置是非常简单的,首先我们需要有2个可运行的redis环境: master node : 192.168.56.101 8887 slave node: ...
- Giter Link
Giter Link Anton Chen https://github.com/antonchen Bear Zheng https://github.com/bearzlh Mac Directo ...