GUI 经典名库wxWidgets对于按键事件的处理,和同类产品相比,有个小的、但很折磨人的不同之处:如果焦点位于某个控件(子窗体)之上,那么当时发生的 wxKeyEvent事件只发给那个子窗体,而主窗体拦截不到,也无法处理,这在一些时候带来了很大麻烦。我坚信这个功能决不是因为没有必要而被 wxWidgets刻意取消的,这不是“你应该修改程序逻辑”的问题,因为从前用过的VB和Delphi都提供了这种功能,就是主窗体有一个 KeyPreview属性,设置为真之后,主窗体本身就可以先一步得到任何控件上的按键事件,进行处理。
如果安装wxPack就能用,那该是更好的事。他们首先要体验的,是用wxWidgets做出程序来,而不是在编译wxWidgets中遇上一堆问题,然后就没有然后了。
用最新的wxPack,安装了wxWidgets2.8.12,观察库文件,确实该有的都有了。用Code::Blocks12.11中wxWidgets2.8.x向导做出两个测试的程序,却都在运行时发生了内存溢出的问题。分析原因,应该是GCC版本问题。wxPack安装的wxWidgets2.8.12是用GCC4.4.1编译的,而我的CodeBlocks12.11中用GCC4.7.1,溢出不意外。这一点,有网友给出评论,“不用wxpack是对的,wxPack is no longer recommended for use, as it is built with a much older version of GCC.”
下载、编译wxWidgets3.0.0,已经不是什么问题(见前文),只编译了用于生成Debug目标文件版本库文件。
但是用Code::Blocks在编出程序时,却出了问题。
先在Code::Blocks中建立wxWidgets Project,用向导整出个程序来玩,这是刚开始能做的事。但是,Code::Blocks12.11中,最高版本只能建立wxWidgets2.8.x版的应用,编译时,总找不到libwxmsw28ud.a等文件。难怪,这里只有libwxmsw30ud.a。该在Code::Blocks中能够修改设置,不想找了。
建立,wxWidgets3.0.0中的应用,成了需要做的事情。实际上,要运行书中和网络中找到的案例,不能靠向导。
Wxpack环境搭建:

各种步骤弄完之后。我开始测试第一个程序。
5.问题:

就是这个。新建wx程序就会出现的。我没改任何东西。
当我编译的时候,可以进行编译了,但是编译出现50个错误。
如下:

Wxpack编程实例:
求大神们一定要指点下,不然第一个小程序都无法实现,就无法再学习了。
建一个空项目,如图1:
图1
我建的项目,名称为minimal。将项目上的源文件minimal.cpp拷贝到项目所在文件夹中,在codeBlocks中项目名上点右键,选Add file...将这个文件加入项目。文件mondrian.xpm是图标文件,也一并拷贝过去(不做,后面也需要补上)。另外,在文件minimal.cpp上点右键,选properties...,在对话框中将文件的只读属性去掉。加入源文件后的界面如图2所示: 
图2
如果这时编译,会有一堆错误,首先面对的问题,编译时找不到需要的头文件。
选菜单setting->Global variables...,保证配置类似图3(根据你安装wxWidgets的目录):
图3
选菜单Project->Build options...,在选项卡Search directories中,设置Compiler,如图4所示:
图4
这时再编译,将不再有语法错误,但一大堆问题,来自于连接环节,问题是找不到库文件。
选菜单Project->Build options...,在选项卡Linker settings中,加入X:\wxWidgets-3.0.0\lib\gcc_dll文件夹中的所有.a文件,如图5所示:
图5
然后再编译,成功!
但是运行程序时,会出现错误,如图6:
图6
按提示来,在X:\wxWidgets-3.0.0\lib\gcc_dll中找到那wxmsw30ud_gcc_custom.dll文件,将其拷贝到项目所在文件夹,看到了期盼的窗口,如图7所示。
图7
出现图6的错误,原因是我在Linker settings加入的是lib\gcc_dll文件夹中的.a文件,这些属于“动态链接库”(这个术语自己百度去吧)。这种方式的好处在于编译速度快,目标代码小,但是在编译好的程序运行时,必须要能找到需要的.dll文件。最简单的办法,就是拷贝.dll文件。






















大小: 8KB
大小: 89.5M
终端仿真器 SecureCRTv7.1.1.264 最新版
串口调试小助手1.3 免费版
WinHex 十六进制编辑器v20.2 SR-5 绿色中文注册版
小旋风ASP服务器安装版
16进制转换工具V1.0 中文绿色版
Adobe AIRV33.1.1.932 官方最新版
github离线安装包64位版V2.9.11官方最新版(github desktop)
mysql数据库.net开发驱动(mysql connector net )8.0.11 官方最新版
MSDN Library Visual Studio 6.0(VC、VB、VF、VJ)中文版win32开发人员必备
版本控制软件(SourceTree)v3.4.6 官方最新版
Memory Analyzer (MAT)V1.01 免费绿色版
Delphi Distillerv1.85绿色版
IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)V4.3.3 绿色版
.NETv3.0 可再发行组件包
一键安装JSP环境安装版
slave4j(基于eclipse插件的java代码生成器)V1.0.0 正式版
Auto DebugProfessional 5.6.5.18 中文绿色版
Understand For C++V1.4.319英文安装版