<?xml:namespace prefix = o />

 

本例演示了一个最小的wxWidgets GUI程序,使用的wxWidgets类库为2.8.8

 

1.       环境设置:

 

在环境变量中定义 wxWin, 其值为wxwidgets的安装路径。我的wxWidgets的安装路径为d:\opt\wxWidgets-<?xml:namespace prefix = st1 />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 <wx/wxprec.h>

 

//对于不支持预编译的编译器,进行如下操作

#ifndef WX_PRECOMP

// Include your minimal set of headers here, or wx.h

#include <wx/wx.h>

#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"
 这里是unicodeDebug版本,如果是:
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

 

这里是unicodeDebug版本,如果是:
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~~
 
尹曙光