当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类别:应用和流程管理
这必须由应用程序提供,并且通常会创建应用程序的主窗口,可选调用SetTopWindow()。
你可以使用OnExit()来清理这里初始化的东西,前提是函数返回true。
请注意,如果您想使用所提供的被wxWidgets提供的命令行处理
返回true继续处理,返回false立即退出应用程序。
一个frame 是一个窗口,其大小和位置(通常)可以由用户更改。
它通常有厚厚的边框和一个标题栏,并且可以选择
包含一个菜单栏,工具栏和状态栏。一个框架可以包含任何
不是框架或对话框的窗口。
通过CreateStatusBar()和CreateToolBar()函数创建的具有状态栏和工具栏的框架管理这些窗口,并调整GetClientSize()返回的值,以反映应用程序窗口可用的剩余大小。
如果要将框架用作输入表单,则不应将控件创建为其子控件。相反,是wxPanel
应该被创建为框架的唯一子框架,作为父框架
的实际控制(框架将大小面板,所以它总是
填充它的客户区域)。这样做将确保选项卡之间
控制作品和框架背景具有预期的颜色。
此外,由于框架在默认情况下是可调整大小的,所以使用它可能会更好
wxScrolledWindow而不是wxPanel,
确保控件易于访问,而不考虑框架
大小。但是,请考虑使用wxDialog而不是wxFrame是否会更好,在这种情况下,使用这样的面板是不需要的,而且wxDialog还提供了其他好处,如创建专门的大小(例如,按钮,具有其平台正确的顺序)。
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样式是普通的,可调整大小的帧。要创建一个无法由用户调整大小的框架,您可以使用以下方法
风格组合:
wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)
下一篇:NCTF web总结与复现