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

简介:

(仅供使用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)

 

目录
相关文章
|
5月前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
97 0
|
2天前
|
设计模式 程序员 C#
C# 使用 WinForm MDI 模式管理多个子窗体程序的详细步骤
WinForm MDI 模式就像是有超能力一般,让多个子窗体井然有序地排列在一个主窗体之下,既美观又实用。不过,也要小心管理好子窗体们的生命周期哦,否则一不小心就会出现一些意想不到的小bug
|
5月前
|
Python 容器
pyqt5-布局管理入门-信号和槽关联-菜单与工具栏-打包资源文件
pyqt5-布局管理入门-信号和槽关联-菜单与工具栏-打包资源文件
46 0
|
程序员 Windows
【windows编程之对话框】对话框原理,对话框的创建
【windows编程之对话框】对话框原理,对话框的创建
|
测试技术 BI 区块链
MFC——对话框的创建及使用(上)
MFC——对话框的创建及使用
1224 0
MFC——对话框的创建及使用(上)
|
数据安全/隐私保护
MFC——对话框的创建及使用(下)
MFC——对话框的创建及使用
261 0
MFC——对话框的创建及使用(下)
|
前端开发
前端工作小结88-定义有对话框的按钮
前端工作小结88-定义有对话框的按钮
92 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
635 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
|
测试技术
MFC中为菜单或按钮添加快捷键功能
1、新建一快捷键资源,ACCELERATOR,关联相应的ID号,下图所示中,其中,第一个ID为自定义快捷键ID,按CTRL+R,此时响应该ID以应的消息响应函数, 第二个ID为菜单ID,此时按CTRL+V,调出ID_NETWORK_PING菜单对应的响应函数。
1365 0
|
区块链
MFC创建单文档工程(左上角名称前的mfc图标修改为其他需求图标)
资源视图——VT_Ards.rc——右键选择添加资源,选择menu,然后导入 (提前最好把ico图标放到工程文件下的res文件夹下) 图标属性ID为:IDR_MAINFRAME ...
1523 0