再探MFC(四)创建对话框

VS2019 MFC对话框的创建和显示 初学MFC 阅读详情

以点击菜单弹出非模式对话框为例.


 

step1

资源视图添加对话框模板.重命名对话框资源ID.

 

step2

选中对话框,右键菜单点击添加类.

 

step3

在菜单项的消息处理函数中

CDialogAddContactdlg;

INT_PTR nResponse =dlg.DoModal();

if (nResponse ==IDOK)

{

 

}

else if (nResponse== IDCANCEL)

{

 

}

 


可以通过DoModel创建模式对话框,通过Create创建非模式对话框.Remarks解释了两种对话框类型.Dialog boxes are of two types: modal andmodeless. A modal dialog box must be closed by the user before the applicationcontinues. A modeless dialog box allows the user to display the dialog box andreturn to another task without canceling or removing the dialog box.

 

如何关闭对话框?Remarks介绍如下.

A modal dialog boxcloses automatically when the user presses the OK or Cancel buttons or whenyour code calls the EndDialog member function.

 

When you implement amodeless dialog box, always override the OnCancel member function and callDestroyWindow from within it. Don't call the base class CDialog::OnCancel,because it calls EndDialog, which will make the dialog box invisible but willnot destroy it. You should also override PostNcDestroy for modeless dialogboxes in order to delete this, since modeless dialog boxes are usuallyallocated with new. Modal dialog boxes are usually constructed on the frame anddo not need PostNcDestroy cleanup.

 

https://msdn.microsoft.com/en-us/library/132s802t.aspx

CSocket使用详解-MFC网络编程 MFC网络编程 阅读详情

相关推荐

MFC框架结构的分析

1.框架代码文件的结构 主要有4个部分组成: 1) 资源文件Resource.h:主要是定义资源的ID。 2) 预编译文件:可以用来解决头文件包含冲突的问题,定义一些需要全局性包含的文件。 3) 应用程序类对应文件:项目名称是TestOne,对应类名为CTestOneApp。 4) 对话框类:项目名称是TestOne,对应类名为CTestOneDlg。 2.应用程序类 MFC定义了一个应用程序基类CWinA...

qq_42746890的博客 653

MFC学习(一):MFC的消息循环 --讲解到位

MFC的消息循环  --讲解到位 (http://blog.sina.com.cn/s/blog_a2aa00d70101im9b.html)     MFC的消息循环          消息分为队列消息(进入线程的消息队列)和非队列消息(不进入线程的消息队列)。对于队列消息,最常见的是鼠标和键盘触发的消息,例如WM_MOUSERMOVE,WM_C

sunnzhongg的博客 6785

vs2013/MFC中向导对话框的创建及显示

为其加入向导对话框,我们可以用它来说明加法计算器的使用方法,一步一步引导用户操作,这也是比较常见的用法。 在学习添加向导对话框之前,可以先了解属性页对话框和相关的两个类CPropertyPage类和CPropertySheet类。1.创建属性页对话框资源在“资源视图”的Dialog 节点上点右键,然后在右键菜单中选择“插入Dialog”创建第一个对话框模板,对话框的ID属性设置为 IDD_

lly_117的博客 6780

BCG使用2:对话框主题的修改

需要修改BOOL CMFCSerialPortApp::InitInstance()想修改陈下面这种主题,对比了窗口属性一直都是一样的,不知道哪里出错。比较有效版本差异发现代码缺省几行设置主题的位置。想起来了,有一个地方是需要在app之前设置一下。

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 650

MFC——创建颜色对话框

MFC中提供了CColorDialog类封装了颜色对话框的所有操作,我们可以通过它显示颜色对话框,并获取颜色对话框中选择的颜色。颜色对话框跟字体对话框一样,也是一种模态对话框。   4.1 CColorDialog类的构造函数 CColorDialog(    COLORREF clrInit = 0,    DWORD dwFlags = 0,    CWnd* pParentWnd...

qq_38149046的博客 2937

MFC中模态对话框和非模态对话框的区别

MFC中对话框有两种形式,一个是模态对话框(model dialog box),一个是非模态对话框(modeless dialog box)。二者的区别在于当对话框打开时,是否允许用户进行其他对象的操作。 一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。点击模态对话框中的OK按钮,模态对话框会被销毁...

亲亲Friends的博客 4683

MFC——对话框的创建及使用

文章目录MFC对话框的创建实例对话框程序的创建过程:对话框应用程序框架介绍设计界面和工具箱MFC常用控件静态文本框CStatic普通按钮 CButton编辑框 CEdit组合框(下拉框)CComboBox列表控件 CListCtrl树控件 CTreeCtrl标签控件 CTabCtrl MFC对话框的创建实例 对话框程序的创建过程: 选择“文件 | 新建 | 项目”菜单; 在“新建项目”对...

跑不了的你的博客 2万+

[MFC] 创建(非)模态对话框以及可能出现的问题

此外,该函数还会销毁窗口的菜单、定时器,移除剪贴板所有权,并打破剪贴板查看器链(如果该窗口位于查看器链的顶部)。该段代码中,我们静态声明了一个指针变量,首次运行时指向CFMoTiDlg类new的一段内存地址,当关闭一个非模态窗口时, DestroyWindow()函数回收所有该类的资源,pfmt_dlg指针失效,因此,再次运行创建时,程序会直接崩溃。类对象fmt_dlg需要定义在函数外部,由于非模态窗口在代码运行时不会阻塞,因此如果对象创建在内部则会被瞬间销毁。但是,每个对话框实例在创建后只能显示一次。

yy_xzz的博客 3519

如何创建与使用MFC对话框工程

详细的MFC 对话窗的创建与使用介绍

everything is possible,anything is OK. 9921

MFC——创建文件对话框

1 创建文件对话框   2.1  文件对话框类CFileDialog       MFC使用文件对话框类CFileDialog封装了对文件对话框的操作。CFileDialog类的构造函数原型如下: explicit CFileDialog(    BOOL bOpenFileDialog,    LPCTSTR lpszDefExt = NULL,    LPCTSTR lpsz...

qq_38149046的博客 2265

再探MFC(一)基于对话框的MFC应用程序项目框架

大学毕设时学的MFC,工作头一年还用的MFC,之后再也用不到了.当时买的MFC书籍早就束之高阁了.现在需要开发一个简单的桌面程序,于是我又把MFC捡起来.MFC早已过时,不过如果开发简单的Windows桌面应用,MFC不失为一个简单的选择.

soliddream66的专栏 3035

VS2017 + MFC对话框中创建子对话框

MFC实现创建多个子对话框

葵的博客 5052

Windows程序设计28:MFC模态与非模态对话框

Windows程序设计28:MFC模态与非模态对话框。

qq_59940419的博客 2091

MFC 对话框

MFC 对话框,模态和非模态,动态创建按钮,控件访问等等

qq_61553520的博客 4105

VC编程要点总结1

1 模态对话框根据点击按钮进行处理; int nResponse = dlg.DoModal(); if (nResponse == IDOK) { } else if (nResponse == IDCANCEL) { } 载入图标资源 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 在系统菜单中添加一项(窗口左上角图标单击出的菜单)...

bcbobo21cn的专栏 349

Qt QChart实战:从零打造一个实时温度监控仪表盘(附完整源码)

本文详细介绍了如何使用Qt QChart模块从零构建一个工业级实时温度监控仪表盘。通过实战案例,展示了波形图的绘制、坐标轴配置、数据流模拟等关键技术,并提供了完整的源码实现,帮助开发者快速掌握Qt在数据可视化领域的应用。

weixin_42537919的博客 243

MFC 创建非模态对话框和销毁过程

今天项目中遇到的问题,记录下来,做个总结。 一个简单的目的是创建一个非模态对话框并在对话框关闭后将其销毁。 这里的销毁包括:销毁对话框对象资源和对话框对象指针; 首先说创建对话框: 一、模态对话框(model dialog box) 在程序运行的过程中,若出现了模态对话框,那么主窗口将无法发送消息,直到模态对话框退出才可以发送。 点击模态对话框中的OK按钮,模态对话框会被销

MachiealFactory的博客 2万+

毫米波雷达入门知识

毫米波雷达入门知识

ssbzxcvbnm1234567的博客 5446

MFC对话框创建

一、模态对话框 模态对话框有阻塞功能,打开之后不能操作其他对话框。 1、新建MFC项目 2、选择基于对话框 3、插入新的对话框 右键Dialog,插入Dialog。 4、给新的对话框重写ID 右键新的对话框,选中属性,修改。 模态为IDD_EXEC,非模态为IDD_SHOW。 5、为模态对话框添加类 右键选中的对话框,添加类。创建后会自动弹出.h的对话框。 6、添加按钮 在主对话框(创建项目就会自动生成),放置按钮(工具栏里拖拽)。 有三种方式为按...

endeavor 5266

阿里开源最强数字人工具 EchoMimicV2,本地部署(一)

EchoMimicV2是阿里推出的半身人体AI数字人项目,基于参考图片、音频剪辑和手部姿势序列生成高质量动画视频,确保音频内容与半身动作的一致性。现在本地部署,安装体验一下。

缘分天空的专栏 4614

[STM32F103C8T6]W5500+Modbus TCP(HAL库)

本章节是博主学习Modbus TCP所写的一篇文章Modbus TCP是Modbus的一个分支,主要用到网口通信的,在工业上也用的很频繁,我们公司最近的项目就是用的W5500+modbus TCP来和PC端的上位机通信和交互的。虽然这个项目不是我在写代码,但是我都学了Modbus RTU了,那我也抽空学习一下Modbus TCP吧。本次的Modbus TCP不是博主写的,是一个大佬开源的一个W5500写的一个Mobus TCP代码,我在这个基础上自己写了主机读从机多个数据,和主机写从机寄存器的函数。

sinat_58149788的博客 4086

《MFC如何添加子对话框》

问题描述  当MFC应用程序的主对话框有其他功能需要,但不能显示在主对话框时,通常会通过点击一个功能按钮弹出一个字对话框来实现。最常见的就是登录界面,点击登录按钮,然后弹出一个登录对话框让你输入登录信息,输完信息之后点击立即登录按钮,对话框消失,又回到主界面。   MFC添加子对话框 1、选中项目名称,点击鼠标右键,依次选择添加、资源 2、进入到添加资源界面,选择Dia...

GodLei1995 1万+

C#上位机面试必问30题:机器视觉+工业通信+性能优化(含答案解析)

工业通信:围绕“稳定性”展开,重点答异常处理、断线重连、资源释放;机器视觉:围绕“精度+速度”展开,重点答预处理、ROI、参数优化;性能优化:围绕“UI不卡、内存不泄、效率不低”展开,重点答异步、限流、资源复用;面试加分项:结合实际项目案例(如“我在XX项目中用信号量解决了多设备并发卡顿问题”)。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1510
上一篇: 再探MFC(六)状态栏
下一篇: 再探MFC(七)用户自定义消息
soliddream66
博客等级 码龄19年 93粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值