本例演示了一个最小的 wxWidgets GUI 程序,使用的 wxWidgets 类库为 2.8.8
 
1.       环境设置:
 
在环境变量中定义 wxWin, 其值为 wxwidgets 的安装路径。我的 wxWidgets 的安装路径为 d:\opt\wxWidgets- 2.8.8 . 所以:
 
     $(wxWin)=d:\opt\wxWidgets- 2.8.8
 
VS2005 中,工具 -> 选项 -> 项目和解决方案 ->VC++ 目录
  【平台】 =Win32 【显示一下目录内容】 = 包含文件 中添加
 
   $(wxWin)\include
 
2.       代码编写
 
VS2005 中创建 Windows 应用程序,选择空项目即可
 
新建 H 文件: HelloWorldApp.h
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 
#ifndef WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722
#define WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722
 
// 对于支持预编译的编译器,包含此文件
// For compilers that support precompilation, includes "wx.h".
#include
 
// 对于不支持预编译的编译器,进行如下操作
#ifndef WX_PRECOMP
// Include your minimal set of headers here, or wx.h
#include
#endif
 
// 定义wxApp
class HelloWorldApp : public wxApp
{
public :
     // 在程序初始化时调用
     virtual bool OnInit();
     // 在程序结束时调用
     virtual int OnExit();
};
 
// 定义wxGetApp()函数,可以取得HelloWorldApp类型的全局程序变量
DECLARE_APP (HelloWorldApp)
 
#endif //WXWIDGETS_EXAMPLE_HELLOWORLDAPP_H_20080722
 
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
   新建 CPP 文件: HelloWorldApp.cpp
//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 
#include "HelloWorldApp.h"
 
// 创建HelloWorldApp对象,将结果赋值给全局变量wxTheApp
// 他会根据需要创建main()WinMain()函数
IMPLEMENT_APP (HelloWorldApp)
 
bool
HelloWorldApp ::OnInit()
{
     //wxT _T的作用一样,均是将字符串兼容Unicode模式
     // 有些老的编译器不允许将NULL隐式的转换为wxFrame*
     wxFrame *frame = new wxFrame((wxFrame*)NULL, -1,wxT("Hello World"));
     // 创建状态栏
     frame->CreateStatusBar();
     // 在状态栏上设置字体
     frame->SetStatusText(wxT("Hello World"));
     frame->Show(TRUE);
     // Frame设置为顶层窗体,在程序退出时会自动删除
     SetTopWindow(frame);
     // 返回true,程序继续运行,返回false,程序退出,
     // 如果返回false,OnExit不会被调用。
     return true;
}
 
// 在程序结束时调用
int
HelloWorldApp ::OnExit()
{
     // 在现在的版本中,此函数的返回值没有意义,将被忽略
     return 0;
}
 
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
 
3.       项目设定
 
右键单击项目 -> 属性 ->C/C++-> 常规
 
【附加包含目录】 = "$(wxWin)\lib\vc_lib\mswud"
  这里是 unicode Debug 版本,如果是:
Unicode Release 版本: "$(wxWin)\lib\vc_lib\mswu"
ANSI Debug 版本: "$(wxWin)\lib\vc_lib\mswd"
ANSI Release 版本: "$(wxWin)\lib\vc_lib\msw"
 
项目属性 -> 连接器 -> 常规
  【附加库目录】 = "$(wxWin)\lib\vc_lib\"
 
项目属性 -> 连接器 -> 输入
  【附加依赖项】 =
 
wxmsw28ud_core.lib
wxbase28ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxregexud.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib
 
这里是 unicode Debug 版本,如果是:
Unicode Release 版本:
wxmsw28u_core.lib
wxbase28u.lib
wxtiff.lib
wxjpeg.lib
wxpng.lib
wxzlib.lib
wxregexu.lib
wxexpat.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib
 
   ANSI Debug 版本:
wxmsw28d_core.lib
wxbase28d.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxregexd.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib
 
ANSI Release 版本:
wxmsw28_core.lib
wxbase28.lib
wxtiff.lib
wxjpeg.lib
wxpng.lib
wxzlib.lib
wxregex.lib
wxexpat.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib
 
4.       编译运行
 
F5 编译运行,即可看到结果
 
 
~~The End~~
 
尹曙光