首页 > 其他分享 >虚函数的一个实例,

虚函数的一个实例,

时间:2023-07-30 11:33:06浏览次数:23  
标签:窗口 函数 一个 子类 OnClose 实例 关闭 OnQueryEndSession

处理MDI的关闭过程(仿MFC程序):

MDI窗口关闭是需要遍历关闭子窗口,在子窗口中须判断是否关闭。

MDI主框架和Child子窗口,一般都是继承类

在基类中会有一些框架的基本操作函数,用虚函数可以隐藏固定的中间调用过程
WM_QUERYENDSESSION 消息响应 OnQueryEndSession
WM_CLOSE 消息响应 OnClose

基类框架用EnumChildWindows函数枚举子窗口,并在回调函数中发WM_QUERYENDSESSION给子窗口查询是否可以关闭
OnQueryEndSession调用OnClose,用法固定,OnClose的内容取决于用户子类

所以OnQueryEndSession不必定义成虚函数, OnClose则定义成虚函数。
这样子类中不需要OnQueryEndSession函数,

在消息映射中,子类没有的处理的消息WM_QUERYENDSESSION,顺着消息表走向父类,调用父类的OnQueryEndSession,并调用OnClose,而OnClose是虚函数,因此父类执行子类函数

效果就是子类中完全没有OnQueryEndSession相关定义。

标签:窗口,函数,一个,子类,OnClose,实例,关闭,OnQueryEndSession
From: https://www.cnblogs.com/xgz21/p/17591198.html

相关文章

  • 无涯教程-jQuery - Menu组件函数
    小部件菜单功能可与JqueryUI中的小部件一起使用。一个简单的菜单显示项目列表。Menu-语法$("#menu").menu();Menu-示例以下是显示菜单用法的简单示例-<!doctypehtml><htmllang="en"><head><metacharset="utf-8"><title>jQueryUIM......
  • .NET CORE一步一步实现一个简易JWT鉴权
    鉴权、授权专题之简易鉴权我记得作为实习生去公司上班的时候,领导就直接让我熟悉注册、登录逻辑!!!emm用他的话来说就是这部分跟业务关联性不是很大,你先看看。。。登录,注册是跟业务逻辑不咋挂钩,但是对框架得熟悉呀!好吧,自此咱就开始了搬砖路咯~安装需要的Nuget包1System.IdentityMo......
  • 无涯教程-jQuery - Dialog组件函数
    小部件对话框函数可与JqueryUI中的小部件一起使用。对话框是在HTML页面上显示信息的一种不错的方法。对话框是一个带有标题和内容区域的浮动窗口。此窗口可以移动,调整大小,并且默认情况下可以使用"X"图标关闭。Dialog-语法$("#dialog").dialog();Dialog-示例以下是显示......
  • openGauss学习笔记-25 openGauss 聚集函数
    openGauss学习笔记-25openGauss聚集函数25.1sum(expression)描述:所有输入行的expression总和。返回类型:通常情况下输入数据类型和输出数据类型是相同的,但以下情况会发生类型转换:对于SMALLINT或INT输入,输出类型为BIGINT。对于BIGINT输入,输出类型为NUMBER。对于浮点数输......
  • 使用vue制作一个聊天框
      使用Vue制作的简单聊天框:<template><divclass="chat-box"><divclass="message-list"><divclass="message"v-for="(message,index)inmessages":key="index"><div......
  • Git Clone一个GitHub仓库时,发生报错
    1.问题1.使用HTTP方式:Git:fatal:unabletoaccess'https://github.com/Light-City/CPlusPlusThings.git/':OpenSSLSSL_read:SSL_ERROR_SYSCALL,errno100542.使用SSH方式:没有配置SSH公钥2解决方式1.HTTP方式fatal:unabletoaccess‘https://github.com/…’:O......
  • 一起来做一个json格式化工具吧
    说到json格式化你肯定很熟悉,毕竟压缩后的json数据基本不可读,为了方便查看,我们可以在编辑器中可以通过插件一键格式化,也可以通过一些在线工具来美化,当然,有时在开发中也会遇到json格式化的需求,有很多开源库或组件能我们解决这个问题,不过并不妨碍我们自己实现一个。最简单的方式应该就......
  • 广告行业中那些趣事系列64:低成本训练一个媲美ChatGPT效果的Vicuna模型
    导读:本文是“数据拾光者”专栏的第六十四篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践。本篇主要从理论到实践介绍低成本训练一个媲美ChatGPT效果的Vicuna模型,对于希望搭建自己的大语言模型并应用到实际业务场景感兴趣的小伙伴可能有帮助。欢迎转载,转载请注明出处......
  • 【Python】使用 pyecharts 模块绘制动态时间线柱状图 ① ( 列表排序 | 使用 sorted 函
    文章目录一、列表排序1、使用sorted函数对容器进行排序2、使用list.sort函数对列表进行排序3、使用list.sort函数对列表进行排序-设置排序函数4、使用list.sort函数对列表进行排序-设置lambda匿名排序函数pyecharts画廊网站:https://gallery.pyecharts.org/#/......
  • 无涯教程-jQuery - Datepicker组件函数
    WidgetDatePicker函数可与JqueryUI中的窗口小部件一起使用。重点放在输入上,以小巧的方式打开交互式日历。Datepicker-语法$("#datepicker").datepicker();Datepicker-示例以下是显示DatePicker用法的简单示例-<!doctypehtml><htmllang="en"><head><m......