您的位置:首页 > 其它

MFC的消息映射有什么作用

2012-02-11 18:38 281 查看
绝对以下这三个解释的比较简洁,特此做个记录!以感谢回答的这些人!

MFC的消息映射有什么作用:

Windows操作系统主要是有消息来处理的,每个程序都有自己的消息队列,并且这些消息是有优先级的,也就是谁会先执行的。你定义个消息,先发给操作系统,操作系统再传到你的执行函数

比如下面的消息映射:
BEGIN_MESSAGE_MAP(CMyDlg,CDialog)
ON_CBN_SELCHANGE(IDC_COMBO1,&CMyDlg::OnCbnSelchangeCombo1)
END_MESSAGE_MAP()
函数OnCbnSelchangeCombo1处理唯一的ID——IDC_COMBO1
CBN_SELCHANGE是消息名,
IDC_COMBO1是触发这个消息的控件、
CMyDlg::OnCbnSelchangeCombo1是处理这个消息的函数,
这些相关联的东西用ON_CBN_SELCHANGE(IDC_COMBO1,&CMyDlg::OnCbnSelchangeCombo1)
这句话关联起来

Windows程序是消息驱动的,那就有谁能处理消息,接收到消息后应当怎么做的问题。消息映射就是规定了一种比较方便的模式来把消息、消息处理者、消息处理函数关联起来,即建立起对应关系。比如下面的消息映射:

BEGIN_MESSAGE_MAP(CMyDlg,CDialog)

ON_CBN_SELCHANGE(IDC_COMBO1,&CMyDlg::OnCbnSelchangeCombo1)

END_MESSAGE_MAP()

CBN_SELCHANGE是消息名,IDC_COMBO1是触发这个消息的控件、CMyDlg::OnCbnSelchangeCombo1是处理这个消息的函数,

这些相关联的东西用ON_CBN_SELCHANGE(IDC_COMBO1,&CMyDlg::OnCbnSelchangeCombo1)这句话关联起来。


消息系统对于一个win32程序来说十分重要,它是一个程序运行的动力源泉。一个消息,是系统定义的一个32位的值,他唯一的定义了一个事件,向Windows发出一个通知,告诉应用程序某个事情发生了。例如,单击鼠标、改变窗口尺寸、按下键盘上的一个键都会使Windows发送一个消息给应用程序。消息可以由系统或者应用程序产生。系统在发生输入事件时产生消息。举个例子,当用户敲键,移动鼠标或者单击控件。系统也产生消息以响应由应用程序带来的变化,比如应用程序改变系统字体改变窗体大小。应用程序可以产生消息使窗体执行任务,或者与其他应用程序中的窗口通讯。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: