1. 如何在对话框类中响应消息
1.1 基本方式
使用 WM_LBUTTONDOWN和WM_RBUTTONDOWN去演示如何使用消息
MFC给每一个消息都设计了一个函数

如果我们想响应WM_LBUTTONDOWN,就需要编写一个函数
afx_msg void OnLButtonDblClk(UINT, CPoint);


以上就是MFC消息处理的机制:
需要编写固定名称的处理函数
需要添加消息映射宏
如果以上两个东西都需要查询的话,那么就是一个噩梦。
但是有了类向导,就是天堂。
1.2 类向导

2. 如何响应控件的消息
2.1 在父窗口中响应控件消息

2.2 控件和数据变量的绑定


或者类向导中也可以添加

做了什么事情呢??
对话框类中添加了一个变量的定义
.h中

.cpp中


绑定之后,如果要使用,需要配合一个函数
UpdateData
TRUE:会将控件的数据刷新到变量中
FALSE:会将变量的数据刷新到控件上
2.3 控件和控件类对象的绑定
例子:实现的是 点击一个按钮,让另外一个按钮动起来

void CFirstDlg::OnClickedButton4()
{
// TODO: 在此添加控件通知处理程序代码
CRect rc = 0;
m_objButtonMoved.GetClientRect(rc);
int x = rand() % 400;
int y = rand() % 400;
int nWidth = rc.right;
int nHeight = rc.bottom;
m_objButtonMoved.MoveWindow(x, y, nWidth, nHeight);
}
2.4 控件和控件派生类对象的绑定


添加完之后,我们去处理按钮的MoseMove消息

本文介绍了在Windows环境下使用MFC编写程序时如何在对话框类中响应消息,包括基本消息处理机制、利用类向导简化操作。同时,详细讲解了如何响应控件的消息,如控件与数据变量的绑定、控件与控件类对象的绑定,以及控件派生类对象的绑定,帮助理解MFC中控件交互的实现方式。
1127

被折叠的 条评论
为什么被折叠?



