wxFrame类是一个窗口,它的大小和位置(通常)可以由用户更改。
它通常有粗粗的边框和标题栏,还可以包含菜单栏、工具栏和状态栏。框架可以包含任何不是框架或对话框的窗口。
通过CreateStatusBar()和CreateToolBar()函数创建的具有状态栏和工具栏的框架管理这些窗口并调整GetClientSize()返回的值,以反映应用程序窗口可用的剩余大小。

应用程序通常应该为框架定义一个wxCloseEvent处理程序来响应系统关闭事件,例如,以便清理相关数据和子窗口。

wxFrame处理以下事件:
wxEVT_SIZE:如果框架只有一个子窗口(不包括状态和工具栏),则将调整此子窗口的大小以占用整个框架客户区。如果有两个或多个窗口,则应该通过手动处理wxEVT_SIZE或使用sizer显式地设置它们;
wxEVT_MENU_HIGHLIGHT:默认实现在状态栏的第一个窗格中显示与所选项目相关的帮助字符串(如果有的话)。
风格
这个类支持以下样式:
wxDEFAULT_FRAME_STYLE:
定义为wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | wxSYSTEM_MENU | wx字幕| wxCLOSE_BOX | wxCLIP_CHILDREN。
wxICONIZE:
显示帧图标化(最小化)。仅Windows。
wxCAPTION:
在框架上添加标题。注意,在大多数系统中,wxMINIMIZE_BOX、wxMAXIMIZE_BOX和wxCLOSE_BOX都需要这个标志,因为如果窗口根本没有标题栏,就无法显示相应的按钮。也就是说,如果没有指定wx字幕,这些样式将被简单地忽略。
wxMINIMIZE:
wxICONIZE相同。仅Windows。
wxMINIMIZE_BOX:
在框架上显示最小化框。
wxMAXIMIZE:
显示最大化的帧。只有Windows和GTK+。
wxMAXIMIZE_BOX:
在框架上显示一个最大化框。请注意,在wxGTK下也必须使用wxRESIZE_BORDER,否则将忽略此样式。
wxCLOSE_BOX:
在框架上显示一个关闭框。
wxSTAY_ON_TOP:
保持在所有其他窗口的顶部,也参见wxFRAME_FLOAT_ON_PARENT。
wxSYSTEM_MENU:
在窗口标题栏中显示包含各种窗口命令列表的系统菜单。与wxMINIMIZE_BOX不同,wxMAXIMIZE_BOX和wxCLOSE_BOX样式可以在不使用wx字幕的情况下使用,至少在Windows下可以使用,并且在这种情况下,系统菜单可以在屏幕上显示。但是,为了在所有平台上保持一致的行为,建议只将它与wx字幕一起使用。
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不同)。使用此样式创建的框架必须具有非空父框架。
wxFRAME_SHAPED:
使用这种样式的窗口可以使用SetShape()方法更改它们的形状。

默认的框架样式用于正常的、可调整大小的框架。要创建用户无法调整大小的框架,可以使用以下样式组合

wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX)

额外的样式
这个类支持以下额外的样式:
wxFRAME_EX_CONTEXTHELP:
在Windows下,在标题上放置一个查询按钮。当按下时,Windows将进入上下文敏感的帮助模式,如果用户单击应用程序窗口,wxWidgets将发送wxEVT_HELP事件。注意,这是一种扩展样式,在调用Create之前必须通过调用SetExtraStyle进行设置(两步构建)。您不能将此样式与wxMAXIMIZE_BOX或wxMINIMIZE_BOX一起使用,所以您应该对具有此样式的帧使用wxDEFAULT_FRAME_STYLE ~ (wxMINIMIZE_BOX | wxMAXIMIZE_BOX)(对话框默认没有最小化或最大化框)
wxFRAME_EX_METAL:
在Mac OS X上,这种风格的框架将以金属外观显示。这是另一款。

该类发出的事件
这个类发出的事件宏:
EVT_CLOSE(函数):
当用户关闭或以编程方式关闭框架时,处理wxEVT_CLOSE_WINDOW事件(参见wxWindow::Close)。如果有关闭按钮(通常是标题栏右上角的“X”),用户可以生成此事件(参见wxCLOSE_BOX样式)。看到wxCloseEvent。
EVT_ICONIZE(函数):
处理wxEVT_ICONIZE事件。看到wxIconizeEvent。
EVT_MENU_OPEN(函数):
菜单马上就要打开了。看到wxMenuEvent。
EVT_MENU_CLOSE(函数):
菜单刚被关闭。看到wxMenuEvent。
EVT_MENU_HIGHLIGHT (id、函数):
具有指定id的菜单项已突出显示:用于在wxFrame的状态栏中显示帮助提示。看到wxMenuEvent。
EVT_MENU_HIGHLIGHT_ALL(函数):
菜单项已突出显示,即当前选择的菜单项已更改。看到wxMenuEvent。

wxWidgets随笔(11)-wxFrame类相关推荐

  1. wxWidgets随笔(13)-wxBoxSizer类Basic Box Sizer(2)

    Add()的第一个参数显然是要添加的wxWindow或wxSizer.第二个选项在文档中以"option"的形式出现,但是用"proportion"可能更好.这 ...

  2. wxWidgets随笔(10)-wxApp类

    当wxUSE_GUI=1时,wxApp类表示应用程序本身. 除了wxAppConsole提供的功能外,它还跟踪顶部窗口(请参阅SetTopWindow())并增加对视频模式的支持(请参阅SetVide ...

  3. wxWidgets:wxFrame类用法

    wxWidgets:wxFrame类用法 wxWidgets:wxFrame类用法 用法详细说明 wxWidgets:wxFrame类用法 用法详细说明 #include <wx/frame.h ...

  4. Delphi面向对象学习随笔一:类与对象的关系

    Delphi面向对象学习随笔一:类与对象的关系 作者:巴哈姆特 http://www.cnpack.org (转载请注明出处并保持完整) 工作几年了,总想做点总结,于是有了这篇东西,叫随笔吧呵     ...

  5. 人工检查,11 个类、97942 个标签,Roboflow 开源自动驾驶数据集可以使用啦

    2020-02-16 11:17 导语:缺失大量行人.骑车人标注的无人驾驶数据集可能是个大问题 机器学习即将带来一系列的社会变革,其中一个被大肆宣传的领域是自动驾驶.但是,伴随着自动驾驶技术的巨大动力 ...

  6. 疲劳驾驶数据集_人工检查,11 个类、97942 个标签,Roboflow 开源自动驾驶数据集可以使用啦...

    机器学习即将带来一系列的社会变革,其中一个被大肆宣传的领域是自动驾驶.但是,伴随着自动驾驶技术的巨大动力而来的是巨大的责任,如果一辆自动驾驶汽车训练的不够好,可能会引发车祸,导致人员伤亡. 这是一个非 ...

  7. wxWidgets:stream流类概述

    wxWidgets:stream流类概述 wxWidgets:stream流类概述 stream流类 stream例子 wxWidgets:stream流类概述 wxWidgets 提供了它自己的一组 ...

  8. c++11 thread类的简单使用

    一个thread对象就代表一个线程执行,当对象创建完成后,线程函数就开始执行,下面这段话是c++11的thread类介绍. An initialized thread object represent ...

  9. wxWidgets随笔(3)-hello,world

    不需要为"About"和"Exit"定义标识符.然后,我们实际实现一个事件表,其中的事件被路由分配到类MyFrame中各自的处理函数. 有预定义的宏用于路由分配 ...

最新文章

  1. NHbiernate 配置
  2. 「新房+电商+大数据」如何塑造满意度达 99.8% 的万亿市场领路人?
  3. php 从第几开始截取,php如何实现截取前几个字符
  4. iOS MBProgressHUD 之带底板的加载提示
  5. 指纹图像方向图matlab,matlab指纹方向场方向图程序
  6. qt android程序联网死机,qt android开发出现致命错误
  7. 数据结构-线性表之单链表
  8. matplotlib axis
  9. java saveas绝对路径_java实现对文件的各种操作(转)
  10. io.js入门(三)—— 所支持的ES6(下)
  11. SVM(三)—Kernels(核函数)
  12. 打卡第十八天--用户体验设计师总结
  13. xlsx表格用计算机公式算,excel表格数据求和与计算器不一致-excel表格用公式计算出来的数值跟计算器计算出来的......
  14. 国内外 CRM 客户关系管理软件排行榜
  15. 小米下拉导航栏,36kr 下拉导航栏解决方法
  16. 计算机增加睡眠模式,如果我的计算机处于睡眠模式,Windows 10是否会更新? | MOS86...
  17. 关于华为云会议的测评
  18. 加勒比海盗船-最优装载问题(2021/1/16)
  19. 黑魔法-认识 Docker
  20. 密歇根大学计算机硕士学制,密歇根大学安娜堡分校学专业设置及学制介绍

热门文章

  1. delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数)
  2. kinect数据读取
  3. UVA Mapping the Swaps
  4. Oracle视图的作用与安全性
  5. 续上篇随笔:陈勇提示做分批载入需要用到的数据
  6. excel单元格下拉菜单
  7. #define与const的差别
  8. appium连接模拟器时屏幕倒转
  9. 【整洁之道】如何写出更整洁的代码(上)
  10. HTML5 Canvas爱心时钟代码