- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
初学wxWidgets
首先说明一下:本教程比较侧重于代码的实践,最好接合Cross-Platform GUI Programming with wxWidgets来读(网上有电子书,自己有哪些信誉好的足球投注网站一下),不过我写的还是自认为写的比较详细,单独阅读问题也应该不是很大.wxWidgets用户手册是必备的,伟大的孙波同志正在翻译中文版 ,希望他可以坚持到底!大家可以在邮件列表中找到不完全翻译版,名字叫wxWidgets 2.6.1: 一个可移植的C++和Python图形用户接口工具包(GUI toolkit).
另外请高手们多多指教,更期待有志同道合者可以一起来完成这个教程.ok,我们开始吧!
wxWidgets库的,是一个结构类似于MFC的开源的C++库,它的特点是跨平台:一次编程便可以在从XP到Linux,苹果机,WinCE等等操作系统上重新编译,运行.
安装和编译wxWidgets库我就不说了,大家可以参考Code Project上的Introduction to wxWidgets(作者:Priyank Bolia,期待哪位英文好的高手翻译一下)(我放在附件中了).
注意:Introduction to wxWidgets中路径设置的问题 环境变量WXWIN应该设置为c:\???而不是c:\???\,然后包含目录的时候格式为$(WXWIN)\include\而不是$(WXWIN)include\.我也提供了一个VS2003修正版的HelloWorld的解决方案(本文的源代码只需直接复制到hello.cpp中便可编译运行).
先了解一下HelloWorld的源代码
过程?3.1.?程序的调用顺序
用宏绑定main函数
MyApp::OnInit()
MyFrame初始化:设置界面布局,绑定按钮到事件表
通知计算机显示MyFrame
被按下按钮--回调事件表中的相应函数
#include wx/wx.h
#include mainico.xpm//包含图标文件,格式为XPM,我在源代码之后有该格式的说明
//新建一个窗体
class MyFrame: public wxFrame
{
public:
MyFrame(const wxString title, const wxPoint pos, const wxSize size);
//事件处理函数
void OnQuit(wxCommandEvent event);
void OnAbout(wxCommandEvent event);
//这个呢,写过MFC的朋友一定眼熟,就是消息映射了,wxWidgets叫事件表
DECLARE_EVENT_TABLE()
};
enum
{
ID_Quit,
ID_About,
};
//这里是事件的映射,当触发什么事件(如MENU_ABOUT)时候,调用什么函数(MyApp::OnAbout)
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(ID_Quit, MyFrame::OnQuit)
EVT_MENU(ID_About, MyFrame::OnAbout)
END_EVENT_TABLE()
//初始化程序
class MyApp: public wxApp
{
virtual bool OnInit();
};
//把main函数放在这里
IMPLEMENT_APP(MyApp)
//程序初始化的代码
bool MyApp::OnInit()
{
/*
wxT(Hello World)中wxT是一个宏,也可以写作_T(),用于在编译时改变文字的编码.
比如,一个程序可以分别编译为ASCLL码版(只支持英文)和UTF-8版(支持多国语言)
*/
MyFrame *frame = new MyFrame( wxT(Hello World), wxPoint(299,250), wxSize(340,340) );
frame-Show(TRUE);
SetTopWindow(frame);
return TRUE;
}
MyFrame::MyFrame(const wxString title, const wxPoint pos, const wxSize size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
//wxFrame中的初始化参赛以及其含义可以参见Gxl117翻译的《wxWindows 2用C++编写跨平台程序》(本文的附件中有)
{
SetIcon(wxIcon(mainico_xpm));//设置图标(mainico_xpm变量在mainico.xpm
您可能关注的文档
最近下载
- 化工园区危险品运输车辆停车场建设标准.docx
- 雨水井劳务分包合同2024年通用.docx
- 老年人智能机培训课件.pptx VIP
- 体育教育专业职业生涯规划书发展报告大一全国大学生职业规划大赛模板范文1500字.pdf VIP
- 索尼特丽珑彩监_bvm20f1u_bvm20f1e_bvm20e1u_bvm20e1e_bvm14f1u_bvm14f1e_bvm14e1u_bvm14e1e_bvm14f5u_bvm14f5e_bv.pdf
- 一年级道德与法治《我是小学生啦》单元整体教学设计(1).doc VIP
- 南宋爱国诗词的内容和情感专题.ppt VIP
- 2024年新人教版七年级上册生物课件 第三章 微生物 第三节 真菌 .pptx
- iAStar-S3系列电梯专用变频器使用说明书_V2.03.pdf
- 2024年高一年级上册语文期末复习:文言文阅读 刷题练习题(含答案解析).pdf VIP
文档评论(0)