一。MFC基于对话框程序
1.创建MFC基于对话框项目,名字为MFCDialog。系统会生成CMFCDialogApp和CMFCDialogDlg类。
2.CMFCDialogApp是应用程序类,virtual BOOL InitInstance()是程序执行的入口。
在virtual BOOL InitInstance()中可以定义程序运行时要启动的对话框。
3.CMFCDialogDlg是对话框类。创建项目时提供BOOL CMFCDialogDlg::OnInitDialog(),可以用来设置对话框的初始化属性。可以初始化控件。
在类视图中可以看到项目的所有类和类中对应的函数
新建的对话框类时没有BOOL CMFCDialogDlg::OnInitDialog()函数,可以在类视图中右键属性,点击重写OnInitDialog
4.为了进行消息映射,在.h中会自动声明消息映射宏DECLARE_MESSAGE_MAP(),而在.cpp中会有BEGIN_MESSAGE_MAP和ND_MESSAGE_MAP宏,中间为定义的消息映射。而在.h和.cpp中会分别生成消息处理函数的声明和实现
5.对话框类中的DoDataExchange保存了控件和变量的一些对应关系
二。定时器
1.在onCreate处理函数中添加定时器
1 //1 定时器id 2 //500 时间间隔 500ms 3 //NULL 使用系统默认处理函数 500ms触发一次VM_TIMER 4 SetTimer(1, 500, NULL);
2.添加VM_TIMER消息处理函数
1 void CMFCApplication2View::OnTimer(UINT_PTR nIDEvent) 2 { 3 // TODO: 在此添加消息处理程序代码和/或调用默认值 4 if (nIDEvent == 1) //定时器id,从而每个定时器有不同的处理函数 5 { 6 static int i = 0; 7 i++; 8 CString str; 9 str.Format(TEXT("%d"), i); 10 MessageBox(str); 11 CView::OnTimer(nIDEvent); 12 } 13 }