以前看过一篇用vc6.0来建立WxWidgets项目的word文档,觉得是一种很好的掌握WxWidgets框架的方法。
这篇文章首先介绍了如何在vc6.0环境下编译WxWidgets,然后讲解了在vc6.0中如何配置写WxWidgets的
方法。看完后受益非浅。
那么如何使用开源IDE Code::Blocks(它和WxWidgets框架天生绝配,而且可以写出纯正的C++代码,
还可以生成应用程序界面,与MFC有一拼)来应用这篇文章的实例呢?即不使用生成向导用纯手工
写基于WxWidgets框架的程序.
于是我做了如下尝试:
1. 新建WxWidgets工程,使用WxSmith向导,使用Dialog Based。生成了一个对话框,将所生成的
资源对话框删除,不能通过编译。
2. 新建一个空工程,手工输入程序,编译时提示找不到某些库,通过一翻对complier和linker的
设置,无计于事,实际这样完全,只不过设置工作太过复杂。
3. 新建一个WxWidgets,在选择“preferred GUI Builder”时选“none”,即不生成向导,选择
Application type中,选Frame Based,即不使用对话框基类,而是生成框架,在选择WxWidgets project
时,选Create Empty Project ,即可使用文章中实例手工一行一行输入代码完成程序。采用这种方式,
我们可以更深入地了解WxWidgets框架的内部机理,我感觉比起那些向导生成的代码来容易理解多了。
本人崇拜《windows程序设计》的作者CharlesPetzold,我很不喜欢MFC(主要是因为没有学会),
可能本人先天不适应框架生成的代码,面对MFC生成的代码,我总是手足无措。甚至有时候直接调用
Win32API来写程序。虽说仿佛进入了软件开发的原始社会,但那种感觉实在是爽!
本人刚接触WxWidgets框架,感觉也是一样(生成的代码比MFC小,且Open Source,Cross Platform),
其实我感觉自动生成的代码先天的垢病就是掩盖了太多的技术细节,不太直接,云里雾里的让人不知所云。
以此来换取开发效率,但当你真正地深入到程序的底层的时候,效率就不那么高了,因为你并不理解它
生成的代码到底什么意思。
所以本人认为在写程序时,应首先对应用程序框架有一个深入的了解之后,再想着用向导来提高
开发效率,这样才深入浅出,厚积而薄发。