WxWidgets Hellow World

/*
 * hworld.cpp
 * Hello world sample by Robert Roebling
 */

#include "wx/wx.h" 

class MyApp: public wxApp
{
    virtual bool OnInit();
};

class MyFrame: public wxFrame
{
public:

    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);

    void OnQuit(wxCommandEvent& event);
    void OnAbout(wxCommandEvent& event);

    DECLARE_EVENT_TABLE()
};

enum
{
    ID_Quit = 1,
    ID_About,
};

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
    EVT_MENU(ID_Quit, MyFrame::OnQuit)
    EVT_MENU(ID_About, MyFrame::OnAbout)
END_EVENT_TABLE()

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame( _T("Hello World"), wxPoint(50,50), wxSize(450,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)
{
    wxMenu *menuFile = new wxMenu;

    menuFile->Append( ID_About, _T("&About") );
    menuFile->AppendSeparator();
    menuFile->Append( ID_Quit, _T("E&xit") );

    wxMenuBar *menuBar = new wxMenuBar;
    menuBar->Append( menuFile, _T("&File") );

    SetMenuBar( menuBar );

    CreateStatusBar();
    SetStatusText( _T("Welcome to wxWindows!") );
}

void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
    Close(TRUE);
}

void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event))
{
    wxMessageBox(_T("This is a wxWindows Hello world sample"),
        _T("About Hello World"), wxOK | wxICON_INFORMATION, this);
}

时间: 2024-09-14 18:29:31

WxWidgets Hellow World的相关文章

wxWidgets的资源读取

在VC下使用资源,通常都是先在resource.h中定义一个整数,比如: #define IDI_LIGHTNING_R 200 // 程序图标 然后在resource.rc中定义这个图标: IDI_LIGHTNING_R ICON "icons\\lightning_r.ico" 读取图标的时候则用: ::LoadIcon(h, MAKEINTRESOURCE(IDI_LIGHTNING_R)); 这样的形式.用wxWidgets也想当然地这样做了,结果用 pMainWnd->

wxWidgets初学者导引(4)——wxWidgets学习资料及利用方法指导

wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith进行可视化设计附:学习材料清单 4 wxWidgets学习资料及利用方法指导 初学者常苦于找不到参考资料.实际上,是找不到,不是没有.真正有用的资料,常常也就在手边,只是不知道.有能力熟练地使用一切能用得着的资料,这是水平提高的指标之一.这种能力,同样,也是在实践中获得,而不是有谁为你讲一堂课就能得

WxWidgets 的界面设计器 DialogBlocks

今天无意中找到了这个设计器,然后到官网上下载了一份二进制可执行程序安装包,并安装了.它支持好几种编译器,安装好第一次运行,会让你设置一些基本东西,其中就有编译器.它本身提供有代码编辑器的,但是据说不好用,事实上的确是的.乍一看它界面,就感觉它很复杂,不过感觉应该是像Delphi那样子的设计器才是.还没有怎么用,慢慢探索了,学习WxWidgets 还是很有趣味的,主要是觉得它的跨平台很不错,现在看到DialogBlocks这个东西,感觉应该设计界面上也会很容易了.但愿它是好使的:) 官网地址:ht

安装wxWidgets遭遇的两大关卡

早就想体验wxWidgets.这学期的C++课,课时还算充裕,关键是弟子们的实践能跟得上,我希望能让他们也浅尝一把GUI开发.MFC可以选,但既然IDE都用CodeBlocks了,还是选wxWidgets,开源平台到底吧. 要引弟子行,师傅先走一步. 最简单的办法,下载wxPack,直接安装.看到安装需要的空间相当大,有些犹豫,一是没有找到合适的下载源(我的浏览器打不开http://sourceforge.net,估计又是移动宽带不能解析域名,懒得找他们了),二也想体验利用下载的源文件,自己编译

wxWidgets编程起步

开始学习wxWidgets,上一篇写了"安装wxWidgets遭遇的两大关卡"(简称"前文"). 先推荐一下这两天找到的学习材料. 博客中有一个系列教程,貌似作者没有写完,见<跟我学wxWidgets开发>系列教程. 要看书,就<使用wxWidgets进行跨平台程序开发>.我给的链接中,包括中书中的源码.这本书,是<Cross Platform GUI Programming With wxWidget>的中译本,译本中没有附录部

wxWidgets初学者导引(6)——wxWidgets学习材料清单

wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith进行可视化设计附:学习材料清单 学习材料清单  wxWidgets的官网:http://www.wxwidgets.org/downloads/  wxWidgets的下载页面:http://www.wxwidgets.org/downloads/  在线教程<wxWidgets tutorial>

wxWidgets初学者导引(2)——下载、安装wxWidgets

wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith进行可视化设计附:学习材料清单 2 下载.安装wxWidgets 这方面的资料从网络可以找到不少.wxWidgets的文档,要涵盖各种操作系统和编译环境,难免让人有点无所适从.这对初学者,是灾难. 以下文字,适合于大部分初学者的工作环境.为能边看边做,请确认:(1)你用的是Windows操作系统(强

wxWidgets(1) :mac下搭建wxWidgets 3.0 环境

本文原文连接: http://blog.csdn.net/freewebsys/article/details/45643897 转载请注明出处! 1,关于wxWidgets 参考:http://zh.wikipedia.org/wiki/WxWidgets wxWidgets(Windows and X widgets,最早命名为wxWindows[1])是一个开放源代码且跨平台的对象工具集(widget toolkit),其库可用来创建基本的图形用户接口(GUI).wxWidgets由Jul

wxWidgets初学者导引(3)——wxWidgets应用程序初体验

wxWidgets初学者导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxSmith进行可视化设计附:学习材料清单 3 wxWidgets应用程序初体验 本文中所有的体验,在Code::Blocks中进行. 为了在Code::Blocks中编译运行C++写的wxWidgets程序,需要再做些设置. 首先,需要在环境变量里添加一个wxWidgets根目录环境变量.设置方法类似于2.3