《使用wxWidgets进行跨平台程序开发》chap02——一个简单的应用程序
// Name: minimal.cpp
// Purpose: Minimal wxWidgets sample
// Author: Julian Smart #include "wx/wx.h" // Declare the application class
//定义应用程序类
class MyApp : public wxApp
{
public:
// Called on application startup
//这个函数将会在程序启动的时候被调用
virtual bool OnInit();
}; // Declare our main frame class
//定义主窗口类
class MyFrame : public wxFrame
{
public:
// Constructor
//主窗口类的构造函数
MyFrame(const wxString& title); // Event handlers
//事件处理函数
void OnQuit(wxCommandEvent& event);
void OnAbout(wxCommandEvent& event); private:
// This class handles events
//声明事件表
DECLARE_EVENT_TABLE()
}; // Implements MyApp& GetApp()
//有了这一行就可以使用MyApp & wxGetApp()了
DECLARE_APP(MyApp) // Give wxWidgets the means to create a MyApp object
//告诉主应用程序是哪个类的wxWidgets
IMPLEMENT_APP(MyApp) // Initialize the application
//初始化程序
bool MyApp::OnInit()
{
// Create the main application window
//创建主窗口
MyFrame *frame = new MyFrame(wxT("Minimal wxWidgets App")); // Show it
// 显示主窗口
frame->Show(true); // Start the event loop
//开始事件处理循环
return true;
} // Event table for MyFrame
//类的事件表MyFrame
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(wxID_ABOUT, MyFrame::OnAbout)
EVT_MENU(wxID_EXIT, MyFrame::OnQuit)
END_EVENT_TABLE() void MyFrame::OnAbout(wxCommandEvent& event)
{
wxString msg;
msg.Printf(wxT("Hello and welcome to %s"), wxVERSION_STRING); wxMessageBox(msg, wxT("About Minimal"), wxOK | wxICON_INFORMATION, this);
} void MyFrame::OnQuit(wxCommandEvent& event)
{
// Destroy the frame
//释放主窗口
Close();
} #include "mondrian.xpm" MyFrame::MyFrame(const wxString& title)
: wxFrame(NULL, wxID_ANY, title)
{
// Set the frame icon
//设置窗口图标
SetIcon(wxIcon(mondrian_xpm)); // Create a menu bar
//创建菜单条
wxMenu *fileMenu = new wxMenu;
wxMenu *helpMenu = new wxMenu; // The "About" item should be in the help menu
//添加“关于菜单项”
helpMenu->Append(wxID_ABOUT, wxT("&About...\tF1"), wxT("Show about dialog")); fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt-X"), wxT("Quit this program")); // Now append the freshly created menu to the menu bar...
//将菜单项添加到菜单条中
wxMenuBar *menuBar = new wxMenuBar();
menuBar->Append(fileMenu, wxT("&File"));
menuBar->Append(helpMenu, wxT("&Help")); // ... and attach this menu bar to the frame
//然后将菜单条放置在主窗口上
SetMenuBar(menuBar); // Create a status bar just for fun
//创建一个状态条让一切更有趣些
CreateStatusBar();
SetStatusText(wxT("Welcome to wxWidgets!"));
}
《使用wxWidgets进行跨平台程序开发》chap02——一个简单的应用程序的更多相关文章
- 编写Java程序,实现一个简单的echo程序(网络编程TCP实践练习)
首先启动服务端,客户端通过TCP的三次握手与服务端建立连接: 然后,客户端发送一段字符串,服务端收到字符串后,原封不动的发回给客户端. ECHO 程序是网络编程通信交互的一个经典案例,称为回应程序,即 ...
- 使用Go开发一个简单的服务器程序
最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都觉得JS是反人类的.后台就用了go处理, ...
- 编写一个简单的C++程序
编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...
- 开发部署一个简单的Servlet
Servlet是一个执行在服务器端的Java Class文件,载入前必须先将Servlet程序代码编译成.class文件,然后将此class文件放在servlet Engline路径下.Servlet ...
- 一个简单的flask程序
初始化 所有Flask程序都必须创建一个程序实例. 程序实例是Flask类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) F ...
- Java入门篇(一)——如何编写一个简单的Java程序
最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何 ...
- (原创)如何使用boost.asio写一个简单的通信程序(一)
boost.asio相信很多人听说过,作为一个跨平台的通信库,它的性能是很出色的,然而它却谈不上好用,里面有很多地方稍不注意就会出错,要正确的用好asio还是需要花一番精力去学习和实践的,本文将通过介 ...
- 什么是消息循环,一个简单的win32程序如何运行?
预备知识 1.什么是句柄? (HANDLE) 在win32编程中有各种句柄,那么什么是句柄呢? #define DECLARE_HANDLE(name) struct name##_ { int un ...
- 微信小程序开发系列五:微信小程序中如何响应用户输入事件
微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的视图设计 微信小程序开发系列三:微信小程序的调试方法 微信小程序开发系列四:微信小程序 ...
随机推荐
- Lambda Expression In Java
题记在阅读JDK源码java.util.Collections的时候在UnmodifiableCollection类中看到了这么一段代码: public void forEach(Consumer& ...
- svn命令操作
非超级用户:sudo 命令 svn info 查看svn地址 svn co 地址 检出仓库
- CI源码学习 一步一步重写 CodeIgniter 框架
文章:http://www.cnblogs.com/zhenyu-whu/archive/2013/08.html
- vi或vim快捷键
1.dG:这是删除光标所在行到最后一行的内容(包括光标所在行的内容) 2.ggVG全选
- Windows API 常量定义
Windows 常量定义在winuser.h中可以找到,如果了安装了visual studio 2010,winuser.h所在目录为C:\Program Files (x86)\Microsoft ...
- NS实现采用的技术大多是PHP,如果采用java、 .net是否同样适用?
SNS采用的技术可不都是PHP (不局限于国内),特别是国外的新兴公司,基本上没有再用PHP的了,国内到还是蛮常用的.简单说说我知道的几个案例:Facebook (PHP):Facebook采用PHP ...
- STM32系列命名规则
转自:STM32系列命名规则 STM32 F 103 C 6 T 7 xxx 1 2 3 4 5 6 7 8 第1部分:产品系列名,固定为STM32 第2部分:产品类型:F表示这是Flash产品,目前 ...
- shutdown computer in ad and ou
1. powershell Shutdown-computer –computername (gc c:\temp\serverlist.txt) –force –throttlelimit 10 h ...
- shell脚本学习积累笔记(第一篇)
(1)首先,今天在执行shell脚本./test.sh时抛出“/bin/sh^M: bad interpreter: No such file or directory”的异常,百度后,才知道这是由于 ...
- realloc 函数的使用
realloc 函数的使用 #include <stdio.h> #include <stdlib.h> #include <iostream> using nam ...