通过编写串口助手工具学习MFC过程--(十一)弹出模态型对话框

时间:2023-03-09 15:43:57
通过编写串口助手工具学习MFC过程--(十一)弹出模态型对话框

通过编写串口助手工具学习MFC过程

因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉。这次通过做一个串口助手再次熟悉一下MFC,并做了一下记录,以便方便以后查阅。做的过程中多是遇到问题直接百度和谷歌搜索来的,所以很多都是不求甚解,知其然不知其所以然。另外做此工具只是为了熟悉了解,许多功能还没有完善!(开发工具VS2008)

(十一)弹出模态型对话框

当要弹出的信息,messagebox无法显示全时(没有滚动条),可以采用弹出一个新的对话框的方式来显示。

一.模态对话框和非模态对话框

Windows对话框分为两类:模态对话框和非模态对话框。

模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只有该对话框响应用户输入,在对它进行相应操作退出后,其他窗口才能继续与用户交互。

非模态对话框则是,它弹出后,本程序其他窗口仍能响应用户输入。非模态对话框一般用来显示提示信息等。

这里就先用模态对话框来显示。

新建一个对话框并在其新建一个编辑框(具体过程参见前几节),对话框的Style属性选择Popup,在标签项里的对话框,该属性设置为child,并且Border选择None,这里Border属性选择默认就好。设置好ID。

新建这个对话框类CMessageDlg,并在该类里新建一个Cstring变量 CString m_strMsg;这个变量与文本框控件关联。

void CMessageDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Text(pDX, IDC_EDIT_MSG, m_strMsg);

}

弹出的函数里 增加下面代码:

CString strMsg;

strMsg.Append((const char *)uaData);  //将uaData的数据添加到CString strMsg 变量末端

CMessageDlg cMsgDlg;                        //新建对话框类变量

cMsgDlg.m_strMsg = strMsg;                 //

UpdateData(FALSE);                           //编辑框显示 cMsgDlg.m_strMsg的内容

cMsgDlg.DoModal();                            //弹出模态对话框。

参考:鸡啄米编程课堂 -- 鸡啄米VS2010/MFC教程

http://www.jizhuomi.com/school/c/149.html

http://www.jizhuomi.com/