.
.
.
.Cross-Platform GUI Programming with wxWidgets
.Cross-Platform GUI Programming with wxWidgets
.使用wxWidgets进行跨平台程序开发
.使用wxWidgets进行跨平台程序开发
.
.最近修改时间:2008.7.18
.原著: Julian Smart, Kevin Hock, Stefan Csomor
.翻译: 王强
这本书是否适合我?
这本书是用来介绍怎样使用wxWidgets进行跨平台应用程序开发的.它是一本讲编程的书,但
是它并不会讲解任何算法或者是C++的语法,它假定你已经有了这方面的知识.就是说,你应
该至少在任何一个平台上进行过C++的GUI应用程序开发,现在你想寻找一个更合适的开发
包,以便你的代码可以在多个平台上运行。
要做什么准备工作?
当然,你需要架设一个用于验证书中讲到的那些例子的环境.有一些简单的方法可以作到这
一点,如果你使用Gentoo Linux,你只需要emerge wxGTK就可以了,在ubuntu Linux上边,你
需要作的是apt-get install libwxgtk2.6-dev(当你阅读此书时或许已经升级到2.8或者更
高的版本),而在Windows系统上边,如果你有VC6,你只需要从wxWidgets的网站上下载它的最
新版本,解压缩到任何目录,然后用VC打开位于examples目录中任何一个子目录的工程文件
(.dsw)编译就可以(第一次可能需要很长时间).在其它系统上,请参考wxWidgets压缩包里面
的docs/install目录下对应文件中的描述。
在开工之前,告诉我封面上那个不太漂亮的照片是什么东东?
那是我儿子在幼儿园画的他有生以来的第一幅真正意义上的画.虽然不太完美,但是毕竟迈
出了第一步,正如我翻译这本书一样,虽然有很多不尽如人意的地方,但是毕竟是我第一件真
正意义上完整按计划做完的事情.我希望他以后画的会更好,也希望我以后作别的事情也能
坚持做好.
能告诉我哪里可以下载本书的源代码吗?
Sorry,我也一直在找,始终无法找到。不过本书中的很多例子和wxWidgets自带的例子很相
似,对于理解其中的概念,也许参考自带例子中的相关部分是个不错的选择。
怎么联系你呢?
Skype Me:w.wesley
Email me:cnwesleywang@gmail.com
感 谢
感谢原书扉页中所有感谢的人,感谢原书的作者。
感谢莉莉,你做了大多数的家务,我才有时间把这件事做完,感谢多多,你的苹果可以画的更好。
感谢所有关注这件事的人,你们的鼓励是我的动力之源.在本书PDF版本发布之后,您仍然可以积
极的向作者反馈您的意见,他将一如既往的承担起本书的维护工作。
加入wxChinese邮件列表,和志趣相同的人共同讨论感兴趣的话题,分享你的想法和经验,解答
新学者的疑问以及共同努力完成开源项目以促使linux桌面变的更美好。
原书官方网站: http://www.phptr.com
译者个人网站: http://www.wesleywang.cn
如果在那里看到google广告中有你感兴趣的内容,不妨点击一下作为对他们的小小鼓励.
目录
1 介绍 4
1.1 什么是wxWidgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 为什么选择wxWidgets? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 wxWidgets的历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 wxWidgets社区 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 wxWidgets和面向对象编程 . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 许可协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.7 wxWidgets的体系结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.1 wxMSW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.2 wxGTK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.3 wxX11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.7.4 wxMotif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7.5 wxMac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7.6 wxCocoa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7.7 wxWinCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.8 wxPalmOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.9 wxOS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.10 wxMGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.11 内部组织 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.8 本章小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2 开始使用 15
2.1 一个小例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 应用程序类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 Frame窗口类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 事件处理函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Frame窗口的构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3