C++GUI之wxWidgets(4)-编写应用涉及的类和方法(1)-创新互联
- wxApp Class
- wxApp::OnInit()
- wxFrame Class
- wxFrame处理的事件
当wxUSE_GUI=1时,wxApp类代表应用程序本身。
除了wxAppConsole提供的特性外,它还可以跟踪顶部窗口(SetTopWindow()),并添加了对视频模式的支持(SetDisplayMode())
一般来说,仅面向gui的应用程序的应用程序范围设置可以从wxApp(或wxSystemSettings或wxSystemOptions类)中访问。
#include
由该类发出的事件
由该类发出的事件的事件宏:
EVT_QUERY_END_SESSION(函数):
处理查询结束会话事件,提供成员函数。看到wxCloseEvent。
EVT_END_SESSION(函数):
处理结束会话事件,提供成员函数。看到wxCloseEvent。
EVT_ACTIVATE_APP(函数):
处理一个wxEVT_ACTIVATE_APP事件。看到wxActivateEvent。
EVT_HIBERNATE(函数):
处理hibernate事件。看到wxActivateEvent。
EVT_DIALUP_CONNECTED(函数):
与网络建立连接。看到wxDialUpEvent。
EVT_DIALUP_DISCONNECTED(函数):
网络连接中断。看到wxDialUpEvent。
EVT_IDLE(函数):
处理wxEVT_IDLE事件。看到wxIdleEvent。
库:wxBase
类别:应用和流程管理
wxApp::OnInit()这必须由应用程序提供,并且通常会创建应用程序的主窗口,可选调用SetTopWindow()。
你可以使用OnExit()来清理这里初始化的东西,前提是函数返回true。
请注意,如果您想使用所提供的被wxWidgets提供的命令行处理
返回true继续处理,返回false立即退出应用程序。
wxFrame Class一个frame 是一个窗口,其大小和位置(通常)可以由用户更改。
它通常有厚厚的边框和一个标题栏,并且可以选择
包含一个菜单栏,工具栏和状态栏。一个框架可以包含任何
不是框架或对话框的窗口。
通过CreateStatusBar()和CreateToolBar()函数创建的具有状态栏和工具栏的框架管理这些窗口,并调整GetClientSize()返回的值,以反映应用程序窗口可用的剩余大小。
如果要将框架用作输入表单,则不应将控件创建为其子控件。相反,是wxPanel
应该被创建为框架的唯一子框架,作为父框架
的实际控制(框架将大小面板,所以它总是
填充它的客户区域)。这样做将确保选项卡之间
控制作品和框架背景具有预期的颜色。
此外,由于框架在默认情况下是可调整大小的,所以使用它可能会更好
wxScrolledWindow而不是wxPanel,
确保控件易于访问,而不考虑框架
大小。但是,请考虑使用wxDialog而不是wxFrame是否会更好,在这种情况下,使用这样的面板是不需要的,而且wxDialog还提供了其他好处,如创建专门的大小(例如,按钮,具有其平台正确的顺序)。
wxFrame处理的事件wxEVT_SIZE:如果 frame刚好有一个子窗口,不计算状态和工具栏,此子对象的大小被调整为整个框架客户区。如果有两个或两个以上的窗口,它们应该通过手动处理wxEVT_SIZE或使用sizers;
wxEVT_MENU_HIGHLIGHT:
如果有的话,默认实现显示帮助字符串,与状态栏第一个窗格中的选定项相关联。
类支持下面样式
wxDEFAULT_FRAME_STYLE:
定义为wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN。
wxICONIZE:
显示图标化的帧(最小化)。仅Windows。
wxCAPTION:
把一个
画框上的文字说明。注意,此标志是由
wxMINIMIZE_BOX, wxMAXIMIZE_BOX和wxCLOSE_BOX在大多数系统上作为
如果窗口没有标题栏,则无法显示相应的按钮
所有人。也就是说,如果没有指定wxCAPTION,这些样式将是简单的
忽略了。
wxMINIMIZE:
和wxICONIZE一样。仅Windows。
wxMINIMIZE_BOX:
在框架上显示一个最小化框。
wxMAXIMIZE:
显示大化的帧。仅适用于Windows和GTK+。
wxMAXIMIZE_BOX:
在帧上显示一个大化框。注意,在wxGTK下也必须使用wxRESIZE_BORDER,否则此样式将被忽略。
wxCLOSE_BOX:
在框架上显示一个关闭框。
wxSTAY_ON_TOP:
保持在所有其他窗口之上,请参见wxFRAME_FLOAT_ON_PARENT。
wxSYSTEM_MENU:
显示包含各种windows命令列表的系统菜单
在窗口标题栏。不像wxMINIMIZE_BOX, wxMAXIMIZE_BOX和
wxCLOSE_BOX样式这种样式至少可以在没有wxCAPTION的情况下使用
在Windows下,使系统菜单可用而不显示它
这里是屏幕。但是,建议只一起使用
与wxCAPTION在所有平台下的一致行为。
wxRESIZE_BORDER:
显示窗口周围可调整大小的边框。
wxFRAME_TOOL_WINDOW:
创建一个带有小标题栏的框架;该框架不会出现在Windows或GTK+下的任务栏中。
wxFRAME_NO_TASKBAR:
创建一个正常的帧,但它不显示在任务栏中
在Windows或GTK+下(注意它将最小化到桌面窗口
在Windows下,这对用户来说可能很奇怪,因此它可能是
最好只使用这种样式而不使用wxMINIMIZE_BOX样式)。在wxGTK,
只有在窗口管理器支持时才尊重该标志
_NET_WM_STATE_SKIP_TASKBAR提示。
wxFRAME_FLOAT_ON_PARENT:
帧总是在其父帧的顶部(不像wxSTAY_ON_TOP)。用这种样式创建的帧必须有一个非null的父帧。
wxFRAME_SHAPED:
允许使用SetShape()方法改变具有这种样式的窗口的形状。
默认的frame样式是普通的,可调整大小的frame。要创建一个无法由用户调整大小的框架,您可以使用以下方法
风格组合:
wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
文章标题:C++GUI之wxWidgets(4)-编写应用涉及的类和方法(1)-创新互联
文章源于:http://scjbc.cn/article/ddphge.html