首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mfc 创建模态对话框与非模态对话框

所谓模态对话框就是该对话框被创建后,其父窗口不能响应任何消息,无法操作,只有在关闭了新创建出来窗口后才能继续操作其后面的父窗口。...而非模态对话框则不会有这种情况,非模态对话框创建完成后不影响父窗口操作,两个窗口可以同时响应消息。 ---- 创建模态对话框 想创建一个模态对话框一共分三步。...1、在资源视图中创建一个对话框资源 2、给该对话框资源创建一个类,继承于 CDialog 类,命名为 CMyDialog 图片 3、在想创建该对话框地方添加如下代码   // 模态对话框...创建非模态对话框 创建非模态对话框相对简单,我们可以不需要自己派生一个 CDialog 子类再调用子类 DoModal(这个函数是模态对话框使用),如果我们已经在资源视图创建好了对话框资源,那么直接使用如下代码就可以创建一个非模态对话框...// 非模态 CDialog* dialog = new CDialog;// new 一个对话框对象 dialog->Create(IDD_MYDIALOG, this);// 初始化对话框和我们对话框资源绑定

34610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MFC对话框模式下,控件数据交互

    UpdateData(FALSE); //向控件传递文本,即控件显示"the code is 20" UpdateData(TRUE); //从控件读取文本,即showtext获取到控件文本...IDC_EDIT2); num3=num1*num2; SetDlgItemInt(IDC_EDIT3,num3); 方法六:利用win32API函数sendmessage(),注意此函数参数格式...;第一个参数是该控件句柄,根据其获得方式,又可以更详细划分 int num1, num2, num3; char ch1[10], ch2[10], ch3[10]; ::SendMessage...(GetDlgItem(IDC_EDIT1)->m_hWnd, WM_GETTEXT, 10, (LPARAM)ch1); //此处加上::表示调用是win32API函数,而不是类成员函数, //第一个参数是控件句柄...成员变量获得此控件句柄,其余相同 num1 = atoi(ch1); num2 = atoi(ch2); num3 = num1*num2; _itoa_s(num3, ch3, 10); m_edit3

    1.4K10

    MFC中属性表单和向导对话框使用

    每次在使用MFC创建一个框架时,需要一步步选择自己程序外观,基本功能等选项,最后MFC会生成一个基本程序框架,这个就是向导对话框;而属性表单则是另外一种对话框,表单上有多个属性页,每点击某一页,会显示该页内容...,最好例子是Visual C++6.0中Option对话框; 属性表单创建: 属性表单上由许多属性页组成,每个属性页都可以在可视化编辑环境中编辑,需要添加资源名称是对话框下面的IDD_PROPPAGE_LARGE...、IDD_PROPPAGE_MEDIUM, IDD_PROPPAGE_SMALL, 创建资源时也可以直接创建对话框,在属性中将Style属性选为Child、Border选为Thin、勾上Disable...选项; 创建了资源,下面就是关联MFC类,属性页类是CPropertyPage,该类是继承于CDialog类,在使用时需要从CPropertyPage中派生。...; //在构造函数中添加属性页 AddPage(&m_Prop1); AddPage(&m_Prop2); AddPage(&m_Prop3); 至于它使用则是于普通对话框类似

    1.6K10

    MFC编程入门之六(对话框:创建对话框模板和修改对话框属性)

    对话框,大家应该很熟悉了,在我们常用软件中大多都有对话框界面,例如,360安全卫士主界面其实就是对话框,知识它做了很多美工 方面的工作,将其大大美化了。    ...创建对话框主要分为两大步:    第一,创建对话框资源,主要包括创建新对话框模板、设置对话框属性和为对话框添加各种控件;    第二,生成对话框类,主要包括新建对话框类、添加控件变量和控件消息处理函数等...一、创建对话框应用程序框架    之前创建HelloWorld程序是单文档应用程序,生成了多种窗口,如果用它来讲创建对话框的话可能有些复杂,对大家单纯理解对话框有点 影响,所以这里就再创建一个基于对话框应用程序...Visual C++下选择MFC,中间窗口中选择MFC Application,然后在下面的Name编辑框中键入工程名称, 本例取名“Addition”,在Location编辑框中设置工程保存路径...ID是资源唯一标识,本质上是一个无符号整数,一般ID代表整数值由系统定义,我们无需干涉。 二、对话框模板    可见对于主对话框来说,创建对话框第一步中创建新对话框模板已经由系统自动完成了。

    3.6K10

    VS2010MFC编程(对话框:模态对话框及其弹出过程)

    之前加法计算器对话框其实就是模态对话框。 二.模态对话框是怎样弹出        毕竟加法计算器程序大部分都是MFC自动生成对话框怎么弹出来大家可能还不是很清楚。...鸡啄米下面简单说说它是在哪里弹出来,再重新建一个新对话框并弹出它,这样大家实践以后就能更灵活使用模态对话框了。       ...大家打开Addition.cpp文件,可以看到CAdditionApp类有个InitInstance()函数,在MFC应用程序框架分析中提到过此函数,不过那是单文档应用程序App类中,函数体不太相同,...三.添加一个新对话框并弹出它      大家可以完整看下对话框添加和弹出过程。        ...,接下来修改OK按钮Caption为“确定”,Cancel按钮Caption为“取消”,最后调整各个控件位置和对话框大小。最终对话框模板如下图: ?

    2.9K50

    MFC原理第一讲.MFC本质.以及手工编写MFC程序

    MFC原理第一讲.MFC本质.以及手工编写MFC程序 PS: 这个博客属于复习知识.从头开始讲解....在写这篇博客之前.已经写了3篇MFC本质了.不过掌握知识点太多.所以从简重新开始. 一丶MFC本质是什么.   MFC本质其实就是Win32程序一种封装....二丶手工编写一个MFC程序.   手工编写MFC程序.需要熟悉两个类   一个是CWinAPP,一个是CFramWnd类. 这两个类作用.   ...并且提供构造.构造里面创建窗口.   5.CPP 文件必须包含MFC类库. afxWin.h   6. 使用MFC 静态库方式. 例如下图: ? 具体实现代码:   1. .h文件代码....如果有兴趣.可以看看MFC源码.也可以看看我以前写过MFC原理博客.

    2.4K40

    MFC学习——如何在MFC对话框中添加一个显示网页窗口(用vs2017以下版本,vs2017不支持)

    大家好,又见面了,我是你们朋友全栈君。...(用vs2017以下版本,vs2017不支持) 标题这个要用到 ActiveX 控件了,向对话框里面插入一个 WebBrowser控件,之后使用就可以了!...============================= 利用Web Browser控件创建自己浏览器 ①新建一个基于对话框工程,命名为test,然后在对话框上单击右键,选择 Insert...ActiveX Control…在弹出对话框中选择MicroSoft Web浏览器,点击OK。...此时对话框上已经出现了WebBrowser控件,调整它大小以适合对话框大小。 ②选择Web Browser控件,点击类向导,选择成员函数,单击 添加按钮,此时会弹出两个对话框,均点击确定即可。

    1.2K10

    MFC原理第二讲.MFC初始化过程

    MFC原理第二讲MFC初始化过程 一丶简介   通过上一讲.我们手工模拟了一个MFC程序. 但是上一讲留下了疑问. 就是WinMain在哪.以及消息处理在哪里....也就是我们theApp这个变量. 也就是MFC初始化过程. 二丶Winmain查找.   我们上一讲模拟了MFC程序.要查找winmain很简单.   1.调试启动. F10快捷键....因为MFC框架太大.现在不利于我们直接看MFC源码学习.所以我们要从最简单模拟开始. 三丶MFC初始化过程之theApp为什么全局.   ...MFC中也是放在CWinThread类中.所以我们放到我们里面....为什么还需要第二个 m_pCurApp指针.原因是 MFC在调用时候.不能直接使用     theApp. 而是通过一个函数 AfxGetTheApp来获取.

    1.1K51

    认识基本mfc控件

    而且很多常用控件已经内置到操作系统当中了,在Visual C++中,这些常用控件已经简答到能用“拖放”这种窗口设计方法来将他们放置到一个对话框中。   ...静态文本控件:用来向使用者展示文本,用户无法改变文本内容,也就是说无法与控件交互,静态文本对用户来说只是一个只读控件。当然编码者可以通过修改代码方便改变显示文本。   ...用来一次在一组两个或者更多值中只选出一个值处于打开状态。 ? 这个就是单选按钮控件。   组合框控件:也叫下拉列表框。控件是一个带有可用值列表编辑框。...使用组合框提供一系列选择,用户可以从中选取一个值。有时用户可以在提供列表满足要求时直接输入一个值。   每个控件都有属性,用来对这个控件进行说明。下面列出基本属性,每个控件框都有的。...如果禁用会让Caption中文本只显示轮廓或者像是对话框表面上凹痕。 Tab Stop:表明当用户使用tab键在对话框中移动时,这个控件是否被选中。

    3.4K20

    MFC编程之数值调节按钮

    MFC编程之数值调节按钮 一丶数值调节按钮使用注意事项 CSpinButtonCtrl类是MFC封装数值调节按钮.   ...我们要使用数值调节按钮需要注意事项.   1.数值调节按钮跟一个编辑框配合使用.   2.注意TAB键顺序. EDIT + 数值按钮....总共三个属性 1.Auto Buddy 这个属性就是自动合作伙伴属性.意思就是我跟编辑框为一组.他会自动寻找. 按照TAB键顺序. 所以Tab键顺序都要EDIT在前....三丶对话框初始化中设置数值调节按钮 我们要在对话框中初始化我们数值调节按钮 我们知道数值调节按钮在MFC中是一个封装类 CSpinButtonCtrl 所以我们可以通过控件ID返回这个类然后调用他方法设置...SetRange32 设置控件32位范围. SetBase 设置数值. 基数.也就是进制. 是以什么进制添加 具体可以查询MSDN 下方截图 ? 对话框初始化中代码.

    1.1K10

    MFC和QT区别

    MFC 微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是微软公司提供一个类库(class libraries),以C++类形式封装了Windows API...早期很多学习计算机专业读者可以在学校里面都有接触过,因为这个是每一个计算机专业读者必修课程,所以在早期C++项目里面很多都是使用MFC为开发框架进行构建,因为它有一个很大好处就是和我们windows...windows系统开发程序很大部分都是使用了MFC框架进行开发,在如今我们很多酒店、政府等等很多行业上面用都是MFC框架进行开发,MFC全面支持COM组件开发,这个时候很多在windows开发程序也会在这上面支持...编程,而我们MFC是封装后windows编程。...基本上,Qt 同 X Window 上 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上 MFC,OWL,VCL,ATL 是同类型东西。

    1.8K51

    Qt和MFC区别

    @toc (MFC效率较高,但大量Windows API和消息机制使得其较难理解,不易用;QT封装较好,易用且==跨平台==,但效率较低) MFC(微软基础类库)是专门为windows设计一个用于开发图形用户界面的类库...伪对象 vs 真对象 归根结底,Qt和MFC差异在于其设计差异。 MFC根本目的是访问包装起来用C语言写windowsAPI。...(译者注:后面关于购买价格等问题删去,因为价格不固定,如果有疑问请到官方网站查询价格) 发布 在发布基于MFC软件时,必须依靠存在于客户电脑上MFC。...但是这是不安全,同样是MFC42.dll,可以基于相同库得到3个不同版本。通常,需要检查是否拥有正确MFC42.dll版本,如果不是,就升级它。但是升级MFC42.dll会改变很多软件行为。...Qt要想短时间撼动MFC地位,还是有点难度

    1.4K41

    MFC实现Socket通信

    MFC实现Socket通信     过五一准备休息两天,正好有朋友要来西安,我也能在西安周边转转,毕竟在这上大学居然还没有好好逛过。所以放假之前一个晚上我发篇文章。     ...我觉得MFC东西挺难说,好像代码没有一个头,也没有一个尾,不知道从何讲起。所以我只说说socket部分,当然包括服务端和客户端。     这是服务端样子: ?    ...pServer->SetRevBoxText(tItem.m_strIp + _T("上线")); Sleep(100); } } }     Cxads_PCServerDlg是我们对话框程序类...因为我们这是服务端,所以保存IP地址和端口是自己,htonl(INADDR_ANY)就是将IP地址绑定为任意,这样你IP可以是127.0.0.1,也可以是192.168.x.x,也可以是你外网IP...附件:MFC Socket.rar

    1.2K41
    领券