您的位置:首页 > 其它

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

2013-06-08 02:43 225 查看
(仅供使用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&见:

/article/1367146.html

这里要感谢很多博主,它们让我学到了很多知识,最后高手莫见笑,希望能帮助到大家吧!若有错误见谅.

(2013-6-8 夜3点 By:Eastmount)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: