MFC 基础知识:主对话框与子对话框(二)

2023-10-28

(仅供使用VS MFC初学者学习,高手莫见笑)
接"MFC 基础知识:主对话框与子对话框(一)"的内容
在"MFC 基础知识:主对话框与子对话框(一)"中Edit Control(编辑框)控件中输出内容,主要是想讲讲在创建的子对话框中如何实现一些操作:即添加OnInitDialog初始化函数的操作,这里的操作VS2012与VC++6.0略有些改动.

一. 主对话框编辑框中输出内容

1.找到主对话框XXXDlg.cpp中的OnInitDialog()初始化函数,在函数注释“//TODO:在此添加额外的初始化代码”后面添加显示在Edit中的代码。

//获取编辑框ID并显示内容
GetDlgItem(IDC_EDIT1)->SetWindowText(_T("在主对话框编辑框Edit中显示"));
如下图所示:

如果要在中文后面输出变量的值,用CString::Format()
CString str;
str.Format( _T("数值=%d"),1000 );
GetDlgItem( ID_EDIT )->SetWindowText( str);

2.运行结果如下图所示:

注意:_T()表示UNICODE编码的TEXT,如果不是UNICODE不用_T(),通常在创建工程时把“使用Unicode库”前面的勾去掉。

3.编辑框实现换行的两种方法:
输入换行:设置编辑框的属性:Mutilines->true;Want return->true
输出换行:将控件的属性设置为Mutilines->true;输出字符串换行符”\r\n”(回车换行),而不是”\n”。

注意:设置Edit为只读采用的方法是设置它的属性Read Only->true,y也可以类向导中添加CEdit类变量m_edit,通过调用函数设置m_edit.XXX.

二. 子对话框编辑框输出内容

MFC新建的子对话框中通常没有用于初始化对话框的OnInitDialog()函数,需要手动添加,通过打开类向导方式添加。

在VC6中的方法是:查看->建立类向导(快捷键Ctrl+W打开类向导)->Message Maps->选择Classname->Objects IDs 选择对话框的ID->Messages中选择WM_INITDIALOG->点击Add Function即可。

 

1.为子对话框添加OnInitDialog()函数:在VS2012类向导(快捷键Ctrl+Shift+X)Class Wizard中没有VC6中的WM_INITDIALOG消息响应,而是采用虚函数中OnInitDialog()函数添加,如下图双击OnInitDialog添加初始化函数。
(注意:是向CSubDlg子对话框类添加该函数)

2.在“已重写的虚函数”中双击OnInitDialog会自动在SubDlg.cpp中建立一个初始化函数,如下图所示,我保留一个return true。

3.添加代码

GetDlgItem(IDC_EDIT1)->SetWindowText(_T("子对话框\r\n编辑框Edit中显示属性"));

4.运行结果如下图所示:

注意:如果出现error:“DDX_Control”不能将参数3从CString转换为CWnd&见:
http://blog.csdn.net/eastmount/article/details/9052735
这里要感谢很多博主,它们让我学到了很多知识,最后高手莫见笑,希望能帮助到大家吧!若有错误见谅.
(2013-6-8 夜3点 By:Eastmount)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFC 基础知识:主对话框与子对话框(二) 的相关文章

  • 如何在单独的线程中创建带有进度条的MFC对话框?

    我的应用程序可能需要一段时间才能连接到数据库 此连接是通过单个库函数调用建立的 即我无法将进度更新放在那里并进行回调或类似的操作 我的想法是在连接到数据库之前在单独的线程中创建一个带有进度条的对话框 该对话框将不断更改进度状态CProgre
  • MFC和ATL之间的根本区别是什么?

    假设我是only将它们用于 普通 GUI 程序 没有 COM 没有 ActiveX 没什么花哨的 我将看到 ATL 和 MFC 之间的根本区别是什么 以帮助我弄清楚使用哪一个 我在网上做了一些搜索 但最终没有一个答案真正回答了我的问题 ht
  • MFC 将 CMFCToolBar 按钮更改为切换而不是按下/释放?

    我在网上找到一篇文章 说将工具栏按钮设置为保持按下的类型 只需设置一个样式TBBS CHECKBOX在按钮上 但它对我不起作用 它仍然像普通按钮一样工作 我确认样式已设置 在创建之后SetWindowText MFC 向导设置CMainFr
  • MFC/WinAPI 的大问题

    我需要创建一个带有两个选项卡的表单视图的 SDI 表单 其中封装了多个对话框作为选项卡内容 但表格必须有彩色背景 诸如此类的事情让我讨厌编程 首先 我通过资源编辑器尝试了 CTabControl 尝试了不同的事情 但未记录的行为和没有答案的
  • 如何在禁用组框时禁用组框文本?

    我面临组框文本的问题 我通过调用 EnableWindow FALSE 禁用了组框 问题是组框标题没有变灰 谁能告诉我为什么会发生这种情况以及如何摆脱这个问题 这似乎是 comctrl32 dll 中的一个错误视觉风格 https lear
  • 调试 MFC:“mfc100.dll”找不到或打开 pdb

    我正在尝试在调试时进入 MFC 源代码 但是 Visual Studio 显然在加载适当的符号时遇到问题 C WINDOWS symbols dll mfc100 i386 pdb PDB 与图像不匹配 我检查了其他问题 通常建议启用 符号
  • 寻找 C++ 中搜索和替换的圣杯

    最近 我正在寻找一种替换字符串中标记的方法 这本质上是查找和替换 但至少还有一种解决问题的方法 看起来像是相当平庸的任务 我已经提出了几种可能的实现 但从性能的角度来看 它们都不能令人满意 最好的成绩是每次迭代约 50us 这种情况很理想
  • Visual Studio 无法识别我的网络摄像头激光测距仪代码的 MFC 库

    我尝试直接从互联网复制源代码 但由于下面发现的错误 我无法构建 调试整个文件 请帮忙 Error occurred while restoring NuGet packages System ArgumentException The pa
  • 同时显示同一文档的多个视图

    如何说服 MFC 文档 视图体系结构让我同时显示同一文档的两个不同视图 例如 说我的CDocument子类代表某种描述的档案 我想要一个用户界面 其中该存档中的所有条目的名称都显示在CListView子类显示在左侧窗格中 而当前所选条目的详
  • MFC winMain 如何最终进入可执行文件?

    In MFC wWinMain定义于appmodul cpp 据我所知 该文件内置于 mfc90ud dll 中 但是 当我运行我的应用程序时 调用堆栈显示MyApplication exe wWinMain 它是如何采取的wWinMain
  • 托管和非托管 C++/MFC 可以混合在一个 dll 中吗?

    以前 我们有 MFC VC6 VB6 和 C 应用程序中的软件 需要调用用 C 和 MFC 编写的相同引擎 该引擎需要 C 来提高速度 当时我们决定使用 COM 作为接口 因为所有三个都可以使用它 并且在编组等方面的问题最少 我们的 MFC
  • 升级后的 MFC 应用程序看起来仍然很旧

    我有一个用 VC6 编写的 MFC 应用程序 我已将其升级到 VS2015 并且它可以构建并运行 该应用程序是一个主可执行文件 其中包含许多包含对话框的 DLL 然而应用仍然looks就像用 VC6 构建的一样 所有 GUI 组件都没有 W
  • 将简单的 MFC CView/CDocument/CSingleDocTemplate 应用程序转换为 ActiveX 控件

    我有一个相当简单的 MFC 应用程序 它只定义了自己的子类CDocument CView and CFrameWnd并通过使用它们CSingleDocTemplate在视图的树中显示文档的只读内容 都是非常标准的MFC MVC 我现在需要转
  • 禁用/启用 MFC 功能包的功能区按钮

    我正在使用 MFC 功能包 并且功能区栏上有一些按钮 即 CMFCRibbonButton 的实例 问题是我想在某些条件下启用和禁用其中一些 但在运行时 我怎样才能做到这一点 因为没有具体的方法 我听说解决方案是在运行时附加 分离事件处理程
  • 想要将 ColeDateTime 转换为 CTime

    我正在从数据库中读取日期时间ColeDateTime格式 我想将其转换为CTime获取日期 月份 年份和时间 CString repDt this will hold the datetime which i read from Datab
  • MFC CMenu 工具提示未显示

    我尝试使用类似的东西来设置 CMenu 项的工具提示 如所述here https stackoverflow com questions 2400180 mfc how to add tooltip in cmenu items 但它只是显
  • _CrtDumpMemoryLeaks( ) == 1 在第一行代码上?

    我正在开发一个 MFC Visual C 项目 据我了解MSDN http msdn microsoft com en us library d41t22sb 28v VS 100 29 aspx CrtDumpMemoryLeaks 应该
  • 对 MFC UI 应用程序进行单元测试吗?

    如何对大型 MFC UI 应用程序进行单元测试 我们有一些大型 MFC 应用程序已经开发了很多年 我们使用一些标准的自动化 QA 工具来运行基本脚本来检查基础知识 文件打开等 这些由 QA 小组在日常构建后运行 但我们希望引入一些程序 以便
  • 错误 C2248: 'CObject::CObject' : 无法访问类 'CObject' afxwin.h 中声明的私有成员

    我试图让班级负责在灰色背景上放置一些文本 Score h pragma once class Score public Score Score void UpdateScore int points void UpdateLives int
  • 具有键唯一性和按位置排序的 MFC 字典集合

    看着表上http msdn microsoft com en us library y1z022s1 28v vs 80 29 aspx core collection shape features http msdn microsoft

随机推荐

  • 数组的度——哈希表与滑动窗体法的实践

    一 题目 给定一个非空且只包含非负数的整数数组 nums 数组的度的定义是指数组里任一元素出现频数的最大值 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组 返回其长度 二 哈希表法解析 记原数组中出现次数最多的
  • 回溯递归(例题+思路+代码)

    题目描述 leetcode 77 思路 组合问题适合用回溯求解 经典解法 for循环 内部回溯 每次进入回溯方法时 先判断终止条件 再进行当前层的循环 循环进行下一层递归 代码 class Solution public List
  • C语言——输入三位整数并输出最大值

    利用整形变量 进行定义 进行if语句比较赋最大值 include
  • MybatisPlus简介,特点,快速入门,常用方法

    MyBatisPlus MyBatis Plus opens new window 简称 MP 是一个 MyBatis opens new window 的增强工具 在 MyBatis 的基础上只做增强不做改变 为简化开发 提高效率而生 特
  • numpy中矩阵的翻转(flip)

    numpy flip m axis None Reverse the order of elements in an array along the given axis The shape of the array is preserve
  • 保姆级使用PyTorch训练与评估自己的MobileViT网络教程

    文章目录 前言 0 环境搭建 快速开始 1 数据集制作 1 1 标签文件制作 1 2 数据集划分 1 3 数据集信息文件制作 2 修改参数文件 3 训练 4 评估 5 其他教程 前言 项目地址 https github com Fafa D
  • angular引入ng-zorro的方法

    安装ng zorro组件 npm install ng zorro antd save 导入模块 import NgZorroAntdModule from ng zorro antd imports BrowserModule NgZor
  • 【2023】华为OD机试真题Java-题目0210-优秀学员统计

    优秀学员统计 题目描述 公司某部门软件教导团正在组织新员工每日打卡学习活动 他们开展这项学习活动已经一个月了 所以想统计下这个月优秀的打卡员工 每个员工会对应一个id 每天的打卡记录记录当天打卡员工的id集合 一共30天 请你实现代码帮助统
  • ajax 筛选表格内容,基于jquery实现表格内容筛选功能实例解析

    当表格内的数据较多时 我们无法一页一页的查找 这时可以通过一个搜索框来实现搜索 对于这个搜素框 我们为了更好的体验可以利用keyup事件实现在用户输入的时候就开始筛选 而不是填完以后点击搜索按钮再执行 效果图 实现代码 function t
  • HNU-电路与电子学-学习笔记(12~24讲)

    放一下12讲 24讲的笔记吧 其它部分的笔记不全 就不放了 每一讲都是我在结合了课本内容 上课PPT 上课笔记后自己总结的知识点 电路与电子学算是我学得最认真的一门课了 最后也取得了还算满意的成绩 希望能够帮助到有需要的同学
  • Vue项目中你是如何解决跨域的呢?

    一 跨域是什么 跨域本质是浏览器基于同源策略的一种安全手段 同源策略 Sameoriginpolicy 是一种约定 它是浏览器最核心也最基本的安全功能 所谓同源 即指在同一个域 具有以下三个相同点 协议相同 protocol 主机相同 ho
  • 工具篇——Base64FileUtil(将文件转成base64 字符串)

    写代码的四点 1 明确需求 要做什么 2 分析思路 要怎么做 1 2 3 3 确定步骤 每一个思路要用到哪些语句 方法和对象 4 代码实现 用具体的语言代码将思路实现出来 学习新技术的四点 1 该技术是什么 2 该技术有什么特点 使用需注意
  • MySQL四十五讲(基础篇)知识汇总(全)

    MySQL四十五讲 基础篇 知识汇总 全 一 MySQL 基本架构 二 日志 Redo log 和 Binlog 2 1 重要的日志模块 gt Redo log 2 2 重要的日志模块 Binlog 2 3 Redo log 与 Binlo
  • 多态&单例类

    1 多态 多态 一种事物的多种体现形式 举例 动物有很多种 应用 定义时并不确定是什么类型 要调用的是哪个方法 只有运行的时候才能确定调用的是哪个 注意 继承是多态的前提 1 多态 1 1 回顾isinstance class Dog ob
  • 使用jquery做的伸缩菜单

  • 基于wordpress和Sakura主题插件搭建博客网站

    基于wordpress和Sakura主题插件搭建博客网站 1 引言 2 认清现实 3 使用的本地化方法 4 分享自己走的一些弯路 5 硬刚404的余波 6 额外的收获 1 引言 最近 本着试试的想法 想着找一个前端方面的工作 遇到一些招聘软
  • fiddler扩展模拟弱网络环境设置

    今天在qq群中有人问到怎么模拟app弱网络环境 我查了下资料 记得之前做测试的时候是设置fiddler断点 app请求后止于fiddler断点 app一直拿不到响应结果就应该要给出网络请求失败的提示 这种方式太麻烦 对每个接口每次请求都要独
  • 图形学实验六真实感图形算法

    目录 实验六 真实感图形算法 一 实验目的 二 实验内容 三 实验原理 四 实验示范代码 略 五 实验步骤 六 实验结果处理 七 实验注意事项 八 预习与思考题 九 实验报告要求 实验六 真实感图形算法 实验类型 设计型 实验学时 2实验要
  • 解决无法成功完成操作,因为文件包含病毒或潜在的垃圾软件

    解决无法成功完成操作 因为文件包含病毒或潜在的垃圾软件 近日在运行电脑上某一个软件的时候 提示 无法成功完成操作 因为文件包含病毒或潜在的垃圾软件 在网上搜索了半天 百度结果翻了几页 都是说把Windows安全中心的 实时保护 关了 然后把
  • MFC 基础知识:主对话框与子对话框(二)

    仅供使用VS MFC初学者学习 高手莫见笑 接 MFC 基础知识 主对话框与子对话框 一 的内容 在 MFC 基础知识 主对话框与子对话框 一 中Edit Control 编辑框 控件中输出内容 主要是想讲讲在创建的子对话框中如何实现一些操