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

news2024/11/16 15:30:19

目录

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

wxApp Class

当wxUSE_GUI=1时,wxApp类代表应用程序本身。
除了wxAppConsole提供的特性外,它还可以跟踪顶部窗口(SetTopWindow()),并添加了对视频模式的支持(SetDisplayMode())
一般来说,仅面向gui的应用程序的应用程序范围设置可以从wxApp(或wxSystemSettings或wxSystemOptions类)中访问。

#include <wx/app.h>

在这里插入图片描述

由该类发出的事件

由该类发出的事件的事件宏:
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。

![在这里插入图片描述](https://img-blog.csdnimg.cn/c21da7c46b1a44fd90a261277a4d7b0b.png#pic_center)

库: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样式是普通的,可调整大小的帧。要创建一个无法由用户调整大小的框架,您可以使用以下方法
风格组合:

wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/63830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小区宠物信息管理系统0v9l2

最近发现近年来越来越多的人开始追求毕设题目的设创、和新颖性。以往的xx管理系统、xx校园系统都过时了。大多数人都不愿意做这类的系统了&#xff0c;确实&#xff0c;从有毕设开始就有人做了。但是很多人又不知道哪些毕设题目才算是新颖、创意。太老土的不想做&#xff0c;创…

高低JDK版本中JNDI注入(上)

目录 前言&#xff1a; (一&#xff09;RMI 0x01 低版本 1.1 服务端 1.2 客户端 1.3 ExportObject.java 0x02 高版本 (二&#xff09;LDAP 0x01低版本 1.1 服务端 1.2 客户端 1.3 ExportObject.java 前言&#xff1a; 这篇文章主要是分析在高低版本JDK中JNDI注入RMI和LDA…

痞子衡嵌入式:浅析IAR下调试信息输出机制之硬件UART外设

大家好&#xff0c;我是痞子衡&#xff0c;是正经搞技术的痞子。今天痞子衡给大家分享的是IAR下调试信息输出机制之硬件UART外设。 在嵌入式世界里&#xff0c;输出打印信息是一种非常常用的辅助调试手段&#xff0c;借助打印信息&#xff0c;我们可以比较容易地定位和分析程序…

泰迪·滇西科技师范学院智能工作室分享:第一章NumPy库——先基础区别数组和列表

前言 来看NumPy库的应该都是接触到庞大数据处理的朋友吧。NumPy是一个简洁好用的数据库&#xff0c;尤其是在科学计算上&#xff0c;专为进行严格数字处理而产生的。其中的ndarray可以说是NumPy库的心脏&#xff0c;它提供了一个强大的N维数组对象&#xff0c;这一章我们先来简…

2 寄存器

寄存器 CPU是由运算器、控制器、寄存器等器件构成&#xff0c;他们依靠内部总线连接。 运算器进行信息处理&#xff1a;寄存器进行信息存储&#xff1b;控制器控制各种器件进行工作&#xff1b;内部总线连接各种器件&#xff0c;在它们之间进行数据的传送。 寄存器是程序员可…

[附源码]Python计算机毕业设计Django社区住户信息管理系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

AI 绘画整体认知

体验 ChatGPT 之后&#xff0c;深刻感觉到 “了解 AI 绘画” 这件事必须得安排上了。 于是用了两三个日夜&#xff0c;了解如下&#xff1a; &#xff08;文末附完整脑图链接&#xff09; 一、发展时间线 二、使用已有的AI绘画云平台&#xff08;目前国内外有很多&#xff09…

华为与思科路由器静态路由配置

一、华为路由器配置静态路由 1、静态路由基础 拓扑如下: 配置静态路由,使得PC1可以ping通PC3。 R1: interface Ethernet0/0/0ip address 124.16.8.1 255.255.255.0 # interface Ethernet0/0/1ip address 110.69.70.1 255.255.255.0 # # ip route-static 172.16.3.0 255.25…

Java_笔记_继承_虚方法表_成员变量方法构造_thisSuper

一、继承的概念以及优势&#xff1a; 1.概念&#xff1a; 1&#xff09;继承是面向对象三大特征&#xff08;封装&#xff0c;继承&#xff0c;多态&#xff09;之一&#xff0c;可让类与类之间产生子父的关系。 2&#xff09;封装&#xff1a;对象代表什么&#xff0c;就封装…

VCS Design Compiler(1)

|||||||||||| ========= =============================== VCS & Design Compiler 联合应用 =================================

[附源码]JAVA毕业设计流行病调查平台(系统+LW)

[附源码]JAVA毕业设计流行病调查平台&#xff08;系统LW&#xff09; 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1…

PTA 7-251 汉诺塔问题

PTA 7-251 汉诺塔问题 分数 100 作者 于延 单位 哈尔滨师范大学 任务描述 在印度&#xff0c;有这么一个古老的传说&#xff1a;在世界中心贝拿勒斯&#xff08;在印度北部&#xff09;的圣庙里&#xff0c;一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候&am…

DBCO 点击化学试剂:DBCO-PEG24-O-NH2,DBCO-PEG24-O-amine

DBCO-PEG24-O-amine中叠氮化物和DBCO基团&#xff0c;DBCO 点击化学可以在水性缓冲液中运行&#xff0c;也可以在有机溶剂取决于底物分子的性质。带有 PEG 臂的试剂会增加化合物的亲水性。DBCO 试剂已广泛应用于生物偶联、标记和化学生物学。 西安凯新生物科技有限公司​DBCO系…

探花交友_第5章_圈子功能实现(新版)

探花交友_第5章_圈子功能实现(新版) 文章目录探花交友_第5章_圈子功能实现(新版)课程说明1、首页推荐1.1、接口分析1.2、功能实现1.2.1 controller1.2.2 service1.2.3 API接口1.2.4 请求dto对象2、圈子功能2.1、功能说明1.2、实现方案分析1.3、技术方案(重点)1.4、表结构设计3、…

js input 正则保留2位小数中文拼音输入问题 + 限制输入整数的方案

js input 正则保留2位小数中文拼音输入问题 限制输入整数的方案 problem 背景 element ui el-input组件原生input事件 需求 限制输入框的输入只允许输入数字和小数点保留2位小数&#xff0c;不允许输入第3位小数 实现 使用 input 原生 oninput 事件使用 js 正则匹配 /…

二分图(Bipartite Graph)

预计阅读时间&#xff1a;10分钟 一、简介 二分图の定义 二分图又叫二部图&#xff0c;是图论中的一种特殊模型。 假设S(V,E)是一个无向图。如果顶点V可分割为两个互不相交的子集(A,B)&#xff0c;并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in…

常见的限流算法分析以及手写实现(计数器、漏斗、令牌桶)

常见的限流算法分析 限流在我们日常生活中经常见到&#xff0c;如火车站门口的栏杆、一些景点的门票只出售一定的数量 等等。在我们的开发中也用到了这种思想。 为什么要限流 &#x1f3eb;在保证可用的情况下尽可能多增加进入的人数,其余的人在排队等待,或者返回友好提示,保…

[附源码]JAVA毕业设计楼宇管理系统(系统+LW)

[附源码]JAVA毕业设计楼宇管理系统&#xff08;系统LW&#xff09; 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a;…

Python笔记 · 魔法函数 / Magic Methods / Dunder Methods

在上篇文章《Python笔记 私有方法、私有属性 & 单下划线、双下划线》我们介绍过以前置双下划线开始&#xff0c;后置双下划线结束的方法名&#xff1a;__*__&#xff0c;这是系统定义的一批特殊函数&#xff0c;通常被称之为&#xff1a;魔法函数&#xff08;Magic Method…

5-2:Kafka入门

Kafka简介 原本的kafka只是一个处理消息队列的技术&#xff0c;但随着功能不断增加&#xff0c;不断综合&#xff0c;成为了一个分布式的流媒体平台 Kafka是一个分布式的流媒体平台。 应用&#xff1a;消息系统、日志收集、用户行为追踪、流式处理。 Kafka特点 高吞吐量、消息…