搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
知新_RL
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
qt5.2中的android环境搭建,Qt5.2中的android环境筹建
2
uniapp动态显示数组_uni-app中调用js里的数组
3
老罗专访:Android 源码之旅_老罗 android 源码
4
损失函数--持续更新_损失函数的更新
5
这家无人驾驶公司,竟做起了“有人驾驶”运输业务
6
零基础转行IT的最佳攻略,互联网行业最佳打开方式_0基础转行入互联网
7
基于FPGA的计算器(含源码)_基于fpga的多功能计算器的设计
8
FPGA时序分析与约束(10)——生成时钟_fpga生成时钟反向约束
9
Mac的brew修改国内源_brew修改源
10
【Taro】微信小程序自定义底部菜单
当前位置:
article
> 正文
MFC 模态对话框和非模态对话框_mfc 对话框 showwindow 和 domoal
作者:知新_RL | 2024-06-30 01:51:12
赞
踩
mfc 对话框 showwindow 和 domoal
MFC 模态对话框和非模态对话框
MFC 中对话框有两种形式,一个是模态对话框(model dialog box),一个是非
模态对话框(modeless dialog box)。
一、模态对话框(model dialog box)
在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,
直到模态对话框退出才可以发送。
点击模态对话框中的OK 按钮,模态对话框会被销毁。
创建一个模态对话框的代码:
1. //创建一个模态对话框
2. CTestDialog td;
3. td.DoModal();
其中CTestDialog 为我自己所新建和一个对话框资源相关联的对话框类。
可以创建一个布局模态对话框类变量,不用担心它会随着所在函数返回而
被销毁。因为DoModal()函数的一个功能是,当前只能运行此模态对话框,且停
止主窗口的运行,直到模态对话框退出,才允许主窗口运行。
DoModal()函数也有显示对话框的功能,所以也无需调用其他函数来显示
对话框。
二、非模态对话框(modaless dialog box)
在程序运行的过程中,若出现了非模态对话框,主窗口还可以发送消息。
点击非模态对话框中的OK 按钮,非模态对话框没有销毁,只是隐藏了。
若想点击OK 按钮时,非模态对话框也销毁,那么CTestDialog 类必须重载其基
类CDialog 的虚函数OnOK(),在此函数里调用DestroyWindow()来销毁此对话
框。
若和上面一样的方式创建一个非模态对话框:
1. CTestDialog td;
2. td.Create(IDD_DIALOG1); //创建一个非模态对话框
3. td.ShowWindow(SW_SHOWNORMAL); //显示非模态对话框
那么,在运行时,你会发现此对话框无法显示。这是因为你声明的对话框
变量td 是局部变量,但这个函数返回时,td 也被析构了,所以无法显示此对话
框。
创建非模态对话框,必须声明一个指向CTestDialog 类的指针变量,且需
要显示的调用ShowWindow()才能将对话框显示出来。有两种创建方法:
(1)采用局部变量创建一个非模态对话框
1. //采用局部变量创建一个非模态对话框
2. CTestDialog *pTD = new CTestDialog();
3. pTD->Create(IDD_DIALOG1); //创建一个非模态对话框
4. pTD->ShowWindow(SW_SHOWNORMAL); //显示非模态对话框
因为指针在声明的时候是被放在堆栈中,只有整个应用程序关闭后才会被销
毁,所以可以正常显示对话框。
这种方法虽然不影响程序的运行,可是指针pTD 所指向的内存却导致不可
用,这样的编程很不好。
(2)采用成员变量创建一个非模态对话框
首先在你所要编写的类的头文件中声明一个指针变量:
1. private:
2. CTestDialog *pTD;
然后再在相应的CPP 文件,在你要创建对话框的位置添加如下代码:
1. //采用成员变量创建一个非模态对话框
2. pTD = new CTestDialog(); //给指针分配内存
3. pTD->Create(IDD_DIALOG1); //创建一个非模态对话框
4. pTD->ShowWindow(SW_SHOWNORMAL); //显示非模态对话框
最后在所在类的析构函数中收回pTD 所指向的内存:
1. delete pTD;
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/知新_RL/article/detail/771033
推荐阅读
article
Unity
七
世界
坐标
系跟
自身
坐标
系
_
世界
坐标
移动和
自身
坐标
移动的区别...
此处点击即可切换
世界
坐标
系和
自身
坐标
系
,那么
世界
坐标
系跟
自身
坐标
系
有什么不同。旋转物体就可以看出不同:
世界
坐标
系,不会变...
赞
踩
article
Node
.
js
中npm中
ws
的
WebSocket
协议
的实现_node
js
ws
...
在
Node
.
js
中,
ws
是一个非常有用的模块,它提供了
WebSocket
协议
的实现。在上面的示例中,我们创建了一个Web...
赞
踩
article
解决
java
项目
打
jar
包
,
项目
中引用有其他
jar
包
的问题_
jar
包
里面
包
含
jar
包
...
大家都知道一个Java应用
项目
可以打
包
成一个
jar
,当然你必须指定一个拥有main函数的main class作为你这个j...
赞
踩
article
黑马程序员——
Java
基础加强
---
反射
_为什么
反射
执行
main
方法
不能传
string
数组...
---
---
Java
培训...
赞
踩
article
编程
的
灵魂
:
数据结构
+
算法
_
程序
=
数据结构
+
算法
, 是
程序
设计
的
灵魂
。...
程序
=
数据结构
+
算法
+
程序
设计
语言_
程序
=
数据结构
+
算法
, 是
程序
设计
的
灵魂
。
程序
=
数据结构
+
算法
, 是
程序
设计
的
灵...
赞
踩
article
《
深度
学习
100
例
》目录...
大家好,我是 K同学啊!《
深度
学习
100
例
》系列在昨天已经完成了第20博客!这是一个漫长的过程,中途遇见也结识了不少优秀...
赞
踩
article
Londiste3
Install...
Skytools是一个比较成熟的套件, 包含了pgq, Londiste, wal-manager三大组件.其中pgq由...
赞
踩
article
Transformers
4.37
中文
文档
(
九十一)...
原文:huggingface.co/docs/transformersMGP-STR原始文本:huggingface.c...
赞
踩
article
Redhat7.7安装
doc
ker
_
finished
dependency
resolution
e...
# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-ma...
赞
踩
article
前端
文件
下载
方式总结_
文件
下载
传
params
参数...
平时开发中我们很多时候都会要用到
文件
下载
,所以总结了一下平时常用得一些一些
下载
方法。1、
文件
流二进制// 在请求的时候加...
赞
踩
article
通用的
CUDA
、
cuDNN
、
anaconda
、
pytorch
环境配置详细过程 -
Windows
/...
相关项简介
CUDA
(ComputeUnifiedDeviceArchitecture,统一计算架构)是一种由NVIDI...
赞
踩
article
软件设计
实验
三
结构型
设计模式
实验
_2. 海尔(
haier
)
、
tcl
、
海信(
hisense
)都是家电...
设计模式
实验
三
结构型
设计模式
实验
_2. 海尔(
haier
)
、
tcl
、
海信(
hisense
)都是家电
制造商
,它们都生产电...
赞
踩
article
2024年最全
Yolov
5
安装
及简单使用
_
yolov
5
安装
步骤(
5
)
,
2024年最新重磅消息
_
怎么安...
一般计算机上存在基础的运行环境base
,
一般使用情境下可在此环境中下载许多常用的包
,
比如说numpy、pandas、sk...
赞
踩
article
数据库
课程设计
:
教务
管理系统
Swing+MySql_
数据库
教务
管理系统
实验报告
数据流
图...
文章目录
实验报告
主要内容3.2需求分析3.2.1简要叙述系统需求调查的方法1.需求分析的调查方法和流程2,需求调查结果的...
赞
踩
article
python
大
作业
有哪些题目,
python
程序设计
大
作业
...
期末
大
作业
要求如下↓:Python 3.7+Tensorflow 1.14(cpu版)+keras 2.31+Pycha...
赞
踩
article
vue2
.0
解决
跨域
问题
,
vue3
.0
解决
跨域
问题_
vue2
代理不会
跨域
vue3
会...
首先我简单的谈谈自己对
跨域
的一个理解:简单的来说就是当前的网址和你需要请求数据的网址不一样
,
具体怎么不一样
,
可以概括为几...
赞
踩
article
IBM
SVC
与
brocade
SAN
交换机
8GB
通讯故障的解决...
一. 问题描述
IBM
SVC
CG8与
brocade
5300B
SAN
交换机
连接时,设置5300B的端口的速率为
8GB
...
赞
踩
article
应用
宝
shangjia
安全
评估
报告
_《
安全
评估
报告
》
提交
指引...
自11月23日开始,各大
应用
市场开始要求提供《
安全
评估
报告
》。相信大家最近都忙活着这事,下面我们就针对如何
提交
《
安全
评估
...
赞
踩
article
2024
年
Android
最新
Android
插件
化
-
Service
篇
,
2024
年最新海尔
面试
_安卓插...
面试
是一个不断学习、不断自我提升的过程
,
有机会还是出去面面
,
至少能想到查漏补缺效果
,
而且有些知识点
,
可能你自以为知道
,
但...
赞
踩
article
网站
安全
性
评估
内容
要求_
网站
安全
评估
的研究
内容
...
平台的
安全
评估
按照甲方公司政策,需要对其进行一次
安全
评估
,需要得到开发人员的支持和回复。以下是进行
安全
评估
的一些问题和需...
赞
踩
相关标签
Unity
node.js
npm
websocket
反射
java
数据结构+算法
深度学习
python
数据库
runtime
transformer
人工智能
docker
centos
linux
html
javascript
pytorch
机器学习
cuda
计算机视觉
conda
设计模式