在 程 序 运 行 时 , 在 “ 复 制 ” 按 钮 上 发 生 单 击 事 件 后 , Windows 向 对 话 框 发 出 了 一 个
BN_CLICKED 消息, CTESTDlg 类应有一个处理该消息的函数。
添加和编写这个消息处理函数的过程是:
① 双击“复制”按钮,弹出的“ Add Member Function ”对话框,输入函数名(缺省函数名
为 OnButton1 ), 选择 “确定”按钮后,添加了一个 空函数。 另一 个方法是在“ MFC
ClassWiard ”对话框“ Message Maps ”选项卡中,选定 IDC_BUTTON1 和 BN_CLICKED 消
息,然后选择“ Add Function ”按钮即可。 添加的空函数如下:
void CTESTDlg::OnButton1()
{
// TODO: Add your control notification handler code here
}
② 为 void CTESTDlg::OnButton1() 添加代码
void CTESTDlg::OnButton1()
{
// TODO: Add your control notification handler code here
m_e1.SetSel(0,-1); // 选定编辑框 m_e1 中的所有内容
m_e1.Copy(); // 把编辑框 m_e1 中选定的内容复制到剪贴板
m_e2.SetSel(0,-1); // 选定编辑框 m_e2 中的所有内容
m_e2.Paste(); // 将剪贴板中内容粘贴到编辑框 m_e2 中,替换所有选定的
内容
}
用同样的方法为“结束”按钮添加 、编写如下的消息处理函数:
void CTESTDlg::OnButton2()
{
// TODO: Add your control notification handler code here
OnOK(); // 退出对话框程序
}
1.2.2 对话框应用程序框架
用 AppWizard 创建基于对话框的应用程序框架(假定工程名为 TEST )后,项目工作
区上增加了一个“ ResourceView ”选项卡,中间是对话框设计界面,右边是控件工具栏。
1. ResourceView
在 Visual C++ 中,与用户进行交互的对话框界面被认为是一种资源。展开“ Dialog ”,
可以看到有一个 ID 为 IDD_TEST_DIALOG 的资源,对应中间的对话框设计界面。不管在
何时,只要双击对话框资源的 ID ,对话框设计界面就会显示在中间。
2. ClassView
在 ClassView 中,如图所示,可以看到生成了 3 个类: CAboutDlg 、 CTESTApp 和
CTESTDlg 。
(1) CAboutDlg :对应生成的版本信息对话框。
(2) CTESTDlg :对话框类,从 Cdialog 继承过来的,在程序运行时看到的对话框就
是它的一个具体对象。