MFC-对话框

目录

1、模态和非模态对话框:

(1)、对话框的创建

(2)、更改默认的对话框名称 

(3)、创建模态对话框

1)、创建按钮跳转的界面 

2)、在跳转的窗口添加类

3)、触发我们添加的类实现跳转 

4)、事件触发消息,消息响应函数处理消息

(4)、创建非模态对话框 

1)、添加非模态对话框类

2)、将事件和消息处理关联

(5)、运行UI结果

2、总结模态对话框和非模态对话框:


1、模态和非模态对话框:

(1)、对话框的创建

(2)、更改默认的对话框名称 

ctrl A+delete全部删除对话框上面的默认控件。

ctrl +art+x工具箱快捷键

(3)、创建模态对话框

1)、创建按钮跳转的界面 

非模态界面创建过程与模态界面创建类似。

2)、在跳转的窗口添加类

3)、触发我们添加的类实现跳转 

创建事件方法1:

创建事件方法2: 

创建事件方法3(最常用): 

4)、事件触发消息,消息响应函数处理消息

事件的发生传递给Windows,Windows会发送消息给窗口对象

此时的模态对话框的类中就有消息响应函数来处理该消息 

(4)、创建非模态对话框 

1)、添加非模态对话框类

这个类中包含消息响应函数来处理消息

2)、将事件和消息处理关联

引入消息处理函数的类,方便处理消息

调用处理信息的函数 

由于模态对话框由阻塞作用,在局部函数结束也不会释放,但是非模态对话框一闪而过,是因为局部函数结束会释放,所以我们要更改弹出对话框的位置,把他设置为成员函数

注释掉局部函数中的成员,否则就近原则还是当作局部函数成员。 

当我们点击非模态对话框创建第二次会报错,由于窗口创建只能创建一次 

我们在对话框类的入口函数处加入创建窗口,只会创建一次 

(5)、运行UI结果

2、总结模态对话框和非模态对话框:

1、模态对话框:只能处理当前模态对话框的窗口,由于是阻塞所以并不会一闪而过。

2、非模态对话框:可以处理其他对话框窗口,由于非阻塞,局部函数结束释放,一闪而过。

3、按钮名称改变caption,或者点击直接修改,点击事件可以直接双击,其他事件右键属性查找添加

4、先插入窗口,然后添加类

5、模态窗口创建 CDlogExec dlg; dlg.DoModal();

6、非模态创建CDlogShow dlg写到.h中做成员;  dlg.Create()写到初始化中也就是框架类入口函数

      dlg.showWindow();显示对话框。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ceph 中的写入放大

新钛云服已累计为您分享769篇技术干货 介绍 Ceph 是一个开源的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。 Ceph 独一无二地在一个统一的系统中同时提供了对象、块、和文件存储功能。 Ceph 消除了对系统单一中心节点的依赖,实现了无中…

Android自定义AppGlideModule,DataFetcher ,ModelLoaderFactory,ModelLoader,Kotlin(1)

Android自定义AppGlideModule,DataFetcher ,ModelLoaderFactory,ModelLoader,Kotlin(1) 假设实现一个简单的功能,对传入要加载的path路径增加一定的筛选、容错或“重定向”,需要自定义一个模型,基于这个模型,让Glide自动匹配模型…

C++前缀和算法:构造乘积矩阵

基础知识点 C算法:前缀和基础 题目 给你一个下标从 0 开始、大小为 n * m 的二维整数矩阵 grid ,定义一个下标从 0 开始、大小为 n * m 的的二维矩阵 p。如果满足以下条件,则称 p 为 grid 的 乘积矩阵 : 对于每个元素 p[i][j] …

Redis HyperLogLog的使用

Redis HyperLogLog知识总结 一、简介二、使用 一、简介 Redis HyperLogLog是一种数据结构,用于高效地计算基数(集合中唯一元素的数量)。它的主要作用是用于在内存中高效地存储和计算大量数据的基数,而无需完全存储所有的数据。Hy…

CICD:Circle CI 实现CICD

持续集成解决什么问题 提高软件质量效率迭代便捷部署快速交付、便于管理 持续集成(CI) 集成,就是一些孤立的事物或元素通过某种方式集中在一起,产生联系,从而构建一个有机整体的过程。 持续,就是指长期…

BIM轻量化技术简介

BIM轻量化技术是指在工程建筑的BIM模型建立之后(利用专业的BIM建模软件,比如Autodesk Revit, Bentley MicroStation, DS Catia等),通过对BIM模型的压缩处理等技术手段,让BIM可以在各类WEB浏览器、移动App上被使用的技术…

[架构之路-237]:目标系统 - 纵向分层 - 网络通信 - DNS的递归查询和迭代查询

目录 一、DNS协议与DNS系统架构 1.1 什么是DNS协议 1.2 为什么需要DNS协议 1.3 DNS系统架构 二、DNS系统的查询方式 2.1 递归与迭代的比较 2.2 DNS递归查询 2.3 DNS迭代查询 一、DNS协议与DNS系统架构 1.1 什么是DNS协议 DNS(Domain Name System&#xff…

2.3 初探Hadoop世界

文章目录 零、学习目标一、导入新课二、新课讲解(一)Hadoop的前世今生1、Google处理大数据三大技术2、Hadoop如何诞生3、Hadoop主要发展历程 (二)Hadoop的优势1、扩容能力强2、成本低3、高效率4、可靠性5、高容错性 (三…

数据分析案例-基于snownlp模型的MatePad11产品用户评论情感分析(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

Android 14 正式发布,已经在 AOSP 中上线

本心、输入输出、结果 文章目录 Android 14 正式发布,已经在 AOSP 中上线前言总结主要更新内容机型支持优化性能的数据体现字体放大、多媒体支持加强Android 14 增加了对 10 位高动态范围 (HDR) 图像的支持提供了新的图形和尺寸管理用户体验 与隐私安全弘扬爱国精神Android 14…

nvm、node、npm解决问题过程记录

在Windows10如何降级Node.js版本:可以尝试将Node.js版本降级到一个较旧的版本,以查看问题是否得以解决。可以使用Node Version Manager (nvm) 来轻松切换Node.js版本,具体完整步骤: 首先,需要安装Node Version Manager…

leetcode-62.不同路径

1. 题目 2. 解答 dp[i][j]表示机器人位于第i&#xff0c;j位置的时候&#xff0c;有多少路径 如果i 0&#xff0c;dp[i][j] 1;如果j 0&#xff0c;dp[i][j] 1;其他情况dp[i][j] dp[i-1][j] dp[i][j - 1] #include <stdio.h>int solve(int m, int n) {int dp[m][…

【python海洋专题二十】subplots_adjust布局调整

上期读取soda&#xff0c;并subplot 但是存在一些不完美&#xff0c;本期修饰 本期内容 subplots_adjust布局调整 1&#xff1a;未调整布局的 2&#xff1a;调整布局 往期推荐 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 【python海洋专题二】读取水深…

微信小程序框架---视图层逻辑层API事件

目录 前言 一、小程序框架介绍 1.响应的数据绑定 2.页面管理 3.基础组件 4.丰富的 API 二、视图层 View 1.WXML 数据绑定 列表渲染 条件渲染 模板 2.WXSS 尺寸单位 样式导入 内联样式 选择器 全局样式与局部样式 3.WXS 示例 注意事项 页面渲染 数据处理 …

水滴怕片效果实现

效果展示 CSS 知识点 border-radius 属性运用 FANCY-BORDER-RADIUS 工具 此工具主要是实现不规则的图形。 FANCY-BORDER-RADIUS 工具地址 页面整体布局实现 <div class"container"><div class"drop" style"--clr: #ff0f5b">&l…

Python学习基础笔记六十六——对象的方法

我们已经学习到的对象类型&#xff1a; 整数类型的对象 字符串类型的对象 列表类型的对象 元组类型的对象 对象通常都有属于自己的方法&#xff08;method&#xff09; 调用对象的方法和调用函数差不多&#xff0c;只要在前面加上所属对象的一个点。 var1 [1, 2, 3,4, 5,…

PreScan与MATLAB联合仿真报错

一、 问题&#xff1a; Error:Matlab ||和&&运算符的操作数必须能够转换为逻辑标量值 二、解决办法 必须安装VS2013&#xff08;我装的VS2017不行的&#xff09;&#xff0c;然后重启prescan和MATLAB&#xff0c;编译通过&#xff0c;界面如下&#xff1a; 三、VS…

vue-element-admin—登录页面添加自定义背景

一、效果图 初始效果&#xff1a; 更改背景后效果&#xff1a; 二、操作步骤 1、准备图片 2、更改代码 打开下面路径的 index.vue 文件&#xff1a; vue-element-admin-master\src\views\login\index.vue 也就是登录页面。 对 .login-container 样式代码块内代码做如下…

机器学习之Sigmoid函数

文章目录 Sigmoid函数是一种常用的数学函数&#xff0c;通常用于将实数映射到一个特定的区间。它的形状类似于"S"形状曲线&#xff0c;因此得名。Sigmoid函数在机器学习、神经网络和统计学中经常被使用&#xff0c;主要用于二元分类和处理概率值。 Sigmoid函数的一般…

git-ssh-key协议同步文件

生成秘钥 ssh-keygen -t rsa ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/Beza/.ssh/id_rsa): /c/Users/Beza/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): …