C++GUI之wxWidgets(4)-编写应用涉及的类和方法(1)-创新互联-成都快上网建站

C++GUI之wxWidgets(4)-编写应用涉及的类和方法(1)-创新互联

目录
    • wxApp Class
    • wxApp::OnInit()
    • wxFrame Class
    • wxFrame处理的事件

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站设计、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的北票网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!wxApp Class

当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://kswjz.com/article/ddphge.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流