VC++60 第八章 自定义对话框

【C++】MFC 创建对话框,实现对课程信息和学生信息的管理 使用vc6.0,MFC,创建对话框 创建一个默认的对话框应用程序,并设计“课程信息”对话框和“学生信息管理”对话框。实现如下图所示功能: 默认的对话框应用程序:        点击“学生基本信息”按钮会出现下图所示,点击“添加”按钮就添加成功,显示如下图所示列表框。 点击“课程信息”按钮会出现下图所示,点击“添加”按钮就添加成功,显示如下图所示列表框。   具备知识: 阅读详情

第八章 自定义对话框

 

上一章我们介绍了系统提供的消息框使用很方便,但是,消息框只能够输出而不能接受用户的输入。例如,要求用户输入登陆号和密码,就需要弹出一个输入对话框,这就需要我们自行设计。本章就介绍如何使用自己定制的对话框。

 

本章要点

如何定制自己的对话框,并把它加入到工程中去?

 

8.1 MyCus.exe程序的界面和功能

本程序的主窗口(图1)就出现三个按钮,按[Input text]按钮弹出如图2所示的对话框。

VC++60 <wbr>第八章 <wbr>自定义对话框

VC++60 <wbr>第八章 <wbr>自定义对话框

 
VC++60 <wbr>第八章 <wbr>自定义对话框

它有一个编辑框,输入信息后关闭,信息就传递到主窗口。再按[Display it]就能够在消息框中显示该信息。

 

8.2 设计MyCus.exe程序的界面和定制对话框

在应用程序向导中选MFC标准的对话框模式创建D:\myVC\CH08\MyCus.exe。

设计主窗口。就三个按钮,[Input text]按钮的ID=IDC_INPUT_BUTTON,[Display it]按钮的ID=IDC_DISPLAY_BUTTON。主窗口的标题取"MyCus",ID=IDD_MYCUS_DIALOG。

定制一个输入对话框
在工作区的资源页用右键点Dialog,在弹出菜单中选"Insert Dialog",这就添加了一个新的对话框,并打开编辑窗口和一个默认的对话框框架。保留两个默认的按钮,并把其中的静态文本的标题改为提示语“任意输入一行文字”;如图chap08-02的布局,添加一个编辑框,设置ID =IDC_DATA_EDIT。新对话框的ID=IDD_INPUT_DIALOG,标题为“输入对话框”。

为定制对话框创建类并加入到工程中
在[查看]菜单打开类向导,向导会自动打开“添加类”的对话框,从中选择"Create a new class"创建新类;在下一步的输入对话框中键入新类的名,我们选为"CInputDlg",基类就是默认的CDialog,代码文件名会自动确定的。VC的类名的首字母都是大写的C,第二个字母往往也大写。按[确定]后就自动生产新类的两个文件InputDlg.cpp和InputDlg.h,在工作区的文件页你可以看到它,同时,在工作区的“类视图”页上也可以看到新类CInputDlg这一项。

 

8.3 编写代码

1 为定制对话框引进变量
为了使用这新对话框,我们需要为它定义一个变量。这变量就是类CInputDlg的一个对象,语句为
    CInputDlg m_mydlg;
以后就可以使用函数
    m_mydlg.DoModal();
来打开对话框了。
变量m_mydlg要在主对话框CMyCusDlg的构造函数中声明,而构造函数在头文件MyCusDlg.h中。(在工作区的文件页中)
class CMyCusDlg : public CDialog
{
// Construction
public:
    CMyCusDlg(CWnd* pParent = NULL);    // standard constructor
    CInputDlg m_mydlg;
......

给新对话框的编辑框引进一个字符串型的变量m_DataEdit,以后,在主窗口要使用它时就可用m_mydlg.m_DataEdit来表示了。

最后给两个按钮编写代码,这就十分简单了。输入按钮的代码是
    m_mydlg.DoModal();
显示按钮内的代码是:
    MessageBox(m_mydlg.m_DataEdit,"来自输入对话框的信息",MB_OKCANCEL);

代码完成,编译和运行。

—END—

 

思考和练习
1 为什么要引进变量m_mydlg?为什么不能通过类向导的添加变量功能来做?
2 设计一个程序来演示要求用户输入帐号和密码。

c++对话框模板创建InputBox()输入框 因为我的应用程序并不是一个MFC,也不是一个控制台应用程序,据我所知,没有简单的方法来获取来自用户的输入。有一个扩展版的这个结构,使后者过时了。当你使用对话框编辑器(在vc++ IDE),你是视觉构建对话框模板和项目的对话框模板(然而,在源代码形式)。当你编译你的应用程序中,单独编译使用的资源RC.EXE(资源编译器)的工具,这将产生r(二进制文件)的.RC(文本文件),最后一切都会联系在一起产生一个可执行模块。请注意,RES文件不仅描述了你的对话框,但也.RC文件中的所有物品(图标,字符串表等)。 阅读详情

相关推荐

显示InputDialog输入对话框实现对用户输入的英文单词进行简单处理

package test; import javax.swing.JOptionPane; public class ChangeTest { public static void main(String[] args) { // TODO Auto-generated method stub     String str=JOptionPane.showInpu

qq_38402311的博客 1517

使用标准输入对话框

使用标准输入对话框这次演示一下使用标准输入框QInputDialog,QInputDialog类目前提供了4中数据类型的输入:字符串,Int数据,double类数据,下拉列表框。

onlyshi的专栏 814

MFC中文本及文件系统编程demo

主要关于MFC中文本及文件系统编程,主要内容包括CString类在文本编程方面的使用,字体(CFontDialog) 颜色(CColorDialog) 文件(CFileDialog)对话框的使用和MFC中文件的写入 读取 打开 关闭等功能的实现以及.ini文件的配置读取等。适合MFC初学者学习。

基于VC++6.0的学生成绩输入操作对话框设计

3)参照图 16 所示的控件布局,添加一个“添加”按钮,标识符为 IDC_STU_ADD. 4)添加一个列表框控件,保留默认的标识符 IDC_LIDTl,去掉 Sort 属性选项前面的选 中标记。设计一个“学生成绩操作”对话框,当单击“添加”按钮时,弹出“学 生成绩输入”对话框,输入数据后,学号添加到组合框中,选择组合框中的学号后,学生数据在列表框中显示出来。2)删除对话框中的默认静态文本控件和“取消”按钮,将对话框的标题改为“学生成 绩操作”,将“确定”按钮标题改为“退出”。输入代码后,编译无误。

weixin_52308622的博客 1584

无线自组织网络基础知识

参考书籍:《无线自组织网络路由协议及应用》 目录第一章 绪论1.1 无线自组织网络概述1.1.1 无线自组织网络的定义及分类1.1.2无线自组织网络的主要特点1.1.3无线自组织网络的应用与发展1.无线自组织网络的应用2.无线自组织网络的起源和发展1.2典型的无线自组织网络1.2.1移动Ad Hoc网络1、移动Ad Hoc网络的定义2.移动AdHoc网络的特点3.移动Ad Hoc网络的应用1.2....

逸凌Time 2万+

window部署open claw(使用wsl-Ubuntu-docker部署)

本文详细介绍了在Windows 11系统下通过WSL2+Docker部署OpenClaw的完整流程。首先需要满足硬件配置要求并开启虚拟化功能,然后依次完成WSL2安装配置、Docker Desktop安装、OpenClaw镜像拉取等步骤。重点说明了端口映射、socat转发配置及openclaw.json文件修改方法。最后通过验证WSL2内网IP和端口访问服务。该方案具有最佳兼容性,能有效避免Windows环境下的依赖冲突问题。

Kmoyic的博客 2763

微软基础类MFC

(不定期更新内容) 内容: 1. MFC的类层次结构 2. MFC应用程序框架 3. 应用程序分析 4. 消息机制(与WIN32差不多) 5. 消息映射和消息传递 6. 自定义消息 7. 模态对话框和非模态对话框 介绍MFC: MFC全称微软基础类MFC,是以C++类的形式封装了Windows的API,提供应用程序框架和开发应用的工具,用消息映射处理消息

两水先木示的博客 1543

Multisim的探针(Probe)及数字电路的一些调试技巧的应用

Multisim的探针(Probe)及数字电路的一些调试技巧的应用 --EE Bang   By  WRS 上图为555方波发生器,根据R1,R2,C2参数的配置可产生频率为46.3KHZ,占空比50%的方波信号,如果用示波器查看波形参数的话需要用两个坐标轴做差,操作不便,另外如果要修改电路将上述电阻换成滑动变阻器的话,使其产生可变频率

Agent Christmas的博客 3万+

MFC对话框,接受键盘输入,并显示输入文本

1、主要实现了以下几点: (1) 2、 3、 4、

wwkaven的专栏 1万+

PSCAD学习笔记(1)Project Settings(重点snapshot设置)

若不勾选,则横坐标为实际时间2-7s,故障显示在第3s发生。图片中时间坐标轴显示为0-5s,故障时刻显示为第1s,即0-1s展示系统稳态,1-5s展示系统发生故障后的暂态响应,如何通过快照文件实现?勾选该项后,使用快照文件启动仿真会将仿真起始时间强制设置为0s,反之不勾选则依据快照文件保存的时间轴继续(即坐标为实际时间)。如果已有的快照文件保存的是0s至5s的仿真内容,则仿真运行时间从5s开始,到10s结束。如果已有的快照文件保存的是0s至2s的仿真内容,则仿真运行时间从2s开始,到7s结束;

gwenh的博客 7343

PaddleOCR 3.x 最新版使用教程(2025)——从安装到实战身份证识别,一步到位!

本文针对PaddleOCR 3.x大版本更新带来的参数变化和兼容性问题,提供从环境配置到实际应用的全流程解决方案。

qq_58607032的博客 9787

MFC--文件对话框

BOOL CSeriesDataDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here DWORD dwExtStyles = m_ListCtrl.GetExtendedStyle(); m_ListCtrl.SetExtendedStyle(dwExtStyles | LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); ...

615

使用sklearn学习多项式回归(三)

1,什么是线性 我们无数次提到”线性“这个名词。在支持向量机中,我们也曾经提到最初的支持向量机只能够分割线性可分的数据,然后引入了”核函数“来帮助我们分类那些非线性可分的数据。我们也曾经说起过,比如说决策树,支持向量机是”非线性“模型。所有的这些概念,让我们对”线性“这个词非常熟悉,却又非常陌生——因为我们并不知道它的真实含义。接下来我们看看线性回归模型改进的核心之一:帮助线性回归解决非线性问题。 1.1,变量之间的线性关系 ”线性“这个词用于描述不同事物时有着不同的含义。我们最常使用的线性是指“变量

理科男同学 5101

MFC用对话框获取输入

题目 在MFC调用对话框读入数据,并在客户区输出。 这是《计算机图形学基础教程》的一个习题: 使用MFC设计一个长方形类CRectangle,调用对话框读入长方形的长度和宽度,在客户区输出长方形的周长和面积。 这个书上并没有教怎么用对话框读取输入,我在这之前也完全没接触过MFC的对话框。弄了两小时,终于把这道题做出来了。以此文记录一下 参考链接 MFC调用输入对话框并返回输入信息 MFC对话...

乱世之尘 1万+

蓝凌EIS智慧协同平台frm_form_upload.aspx接口存在任意文件上传漏洞

蓝凌EIS智慧协同平台frm_form_upload.aspx接口存在任意文件上传漏洞

nnn2188185的博客 357

ESP32与BH1750光照传感器结合使用的Web服务器案例

请注意,为了使代码正常工作,你需要将代码中的"你的WiFi网络名称"和"你的WiFi网络密码"替换为你自己的WiFi网络凭据。在代码中,我们首先导入了所需的库文件,包括Wire库用于I2C通信,BH1750库用于与光照传感器通信,WiFi库和WebServer库用于创建Web服务器。接下来,我们将编写一个Arduino代码来控制ESP32与BH1750的通信,并将读取到的光照强度值显示在Web服务器上。函数用于处理根路径的请求,其中我们读取光照传感器的值,并将其显示在返回的HTML页面中。

server_api196的博客 617

C# winform 弹出输入框

以前用Qt和C++Builder的时候,里面都有一个InputDialog输入框。但是到C# winform里面没有这个。那么要实现这个效果怎么办,当然也是比较容易的。 先看下效果: 点击显示输入框按钮,弹出输入框 在书入框内输入132456,然后按下:确定或者回车键,效果如下: 以上就是输入框的整个效果。 现在就上核心代码。 1、首先添加新建项:C#窗体 2、添加...

weixin_30477797的博客 3213

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

C++通讯录程序

C++通讯录程序

megryan_csdn的博客 790

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【MFC】CDialog类详解

00. 目录 文章目录00. 目录01. 概述02. 继承层次结构03. 成员方法04. 常用成员方法描述4.1 构造函数4.2 Create函数4.3 DoModal函数4.4 EndDialog函数4.5 OnCancel函数4.6 OnInitDialog函数4.7 OnOK函数05. 附录 01. 概述 用于在屏幕上显示对话框的基类。 对话框分为两种类型:模式和无模式。 在应用程序继续之前,用户必须关闭模式对话框。 无模式对话框允许用户在不取消或删除对话框的情况下显示对话框并返回到其他任务。 CDi

C/C++软件工程师、嵌入式软件工程师、物联网研发工程师、C/C++讲师、物联网讲师、嵌入式讲师、鸿蒙讲师---欢迎大家一起交流(私信添加博主微信) 6261

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MFC 之 对话框编程入门

原文地址: http://my.oschina.net/zhongxhua/blog/15273 下面我们来设计这个程序的UI,首先在“视图”菜单中选择“工具箱”,这个工具箱窗口中,列出了很多常用的Windows控件(如按钮、复选框、编辑框、标签等),点击一个控件,此时鼠标变为十字型,像使用画图工具一样在设计器上绘出该控件,也可以同过拖拽的方法将控件直接拖到UI设计器中的对话框上

丸子头的专栏 1275

我的第一个MFC

虽然之前已经接触过一点,但是说心里话,我并没有真正的放在心里,这种将程序与界面结合起来的效果,感觉将程序代码从冷酷变为了人性化,给人一种温暖,如果界面做的好的话,给人一种接近性,现实性。我觉得也是我的思想以一种可视化的界面表现出来,所以我会好好学的。    第一个MFC是老师教给我们的,但是老师操作,是老师操作,自己做起来还是有困难的,但是我还是克服了困难,应该鼓励一下自己一下。我的第一个MFC

u011415908的专栏 754

MFC教程(12)对话框和对话框类CDialog

对话框和对话框类CDialog 对话框经常被使用,因为对话框可以从模板创建,而对话框模板是可以使用资源编辑器方便地进行编辑的。模式和无模式对话框 对话框分两种类型,模式对话框和无模式对话框。模式对话框 一个模式对话框是一个有系统菜单、标题栏、边线等的弹出式窗口。在创建对话框时指定WS_POPUP, WS_SYSMENU, WS_CAPTION和 DS_MODALFRAME风格。即使没有指定WS_V

3473

DynamicLayout-VC 6.0对话框动态布局解决方案

DynamicLayout.rar - 137.94 KB(已被下载159次)关键字对话框控件、动态布局前言对话框是使用VC编程时最常用的形式之一,然而VC 6.0对程序运行时控件布局的支持力度不够,当对话框改变大小时,要想对话框上的控件的行为相应的发生变化需要添加代码来控制, 最可恨的是每次为支持这个必须写类似的"无意义"的代码。一次见到有人用一套宏实

lionzl的专栏 1456

打造强大的输入框

大家都知道 win + r 在运行里输入cmd 就进入了 Command 窗口。输入框有个光标在闪,别小看它,它不仅是一个文本框,它会记录我们输入的内容,用 上/下方向键就可以查看之前输入的内容。好了,今天我们就来模拟这个效果。1,基本布局和样式 布局和样式对这个例子的影响几乎为0,所以我们随意做了一个。Demo1:http://www.cssrain.cn/demo/adva

MYOS的博客 555

MFC实现弹出窗口以及拖动无标题框窗口

语言: VC++, IDE: VS2017 本例中,以点击按钮弹出窗口为示例 一、实现弹出对话框窗口 1.主对话框中增加按钮“弹出窗口”,ID命名为IDC_BTN_OPEN_DLG,添加类型为BN_CLICKED的事件处理程序OnBnClickedBtnOpenDlg, 2.资源视图中添加一个Dialog,ID为IDD_DLG_POP,作为弹出窗口,标题框可能是不需要的,可在属性中将Border先...

weixin_43694353的博客 920
上一篇: VC++60 第七章 消息框的四种样式
下一篇: VC++60 第九章 在窗体上写字
GL_a_
博客等级 码龄11年 29粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值