st1\:*{behavior:url(#ieooui) }
本例演示了一个最小的
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
<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"
这里是
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~~
尹曙光