在当今IT产业发展两大方向,嵌入式和Web(无线和有线)都离不开跨平台的概念。对于C++程序员来说,Widegets是一个非常好的跨平台的开发库。这里我给大家介绍一个简单的Widgets开发的市中小程序,借此可以对比一下它和MFC的共同点和区别。
1.主线程创建的对比
我们知道一般来说,使用MFC的程序员会使用MFC固有的设计模式来实现程序(比如说:视图文档),所以主线程的实现有系统框架自动生成了,程序简单的情况下不用操心。所以有了CWinApp的基类派生出主线程的类生成全局对象供程序员编写对外的交互,也就是说当Windows调用了WinMain函数的时候,CWinApp的基类派生类的对象被构造,成为了全局对象。
而Widgets对于主线程的实现和MFC很类似,但又有区别。 在概念上和MFC是很相近的,有自己的主线程基类wxApp派生出全局的子类对象和外界交互。具体实现上不太一样。
例如:
MFC的例子
Widgets的例子
2.Dialog对象的创建的对比
MFC大家很熟悉了,模态对话框是在构造后,使用DoModal创建,非模态对话框使用Create.
所以这里主要说说Widgets对话框的创建。
3.始终函数的实现
Widgets使用的绘图函数调用方式和MFC很类似
以上两个函数实现了对于始终面板的描绘。
效果如下图所示:
还有就是Widgets的消息映射机制也和MFC非常相似,有机会大家一起交流。呵呵