MFC 自定义消息

loading 分享 2026-7-17 下载文档

MFC 自定义消息

MFC中存在许多现成的消息句柄,但是当我们需要完成其他任务的时候,就需要用到自定义消息了,下面是有关自定义消息的介绍。

常规的自定义消息:

步骤:

1.定义消息。

例:#define WM_MY_MESSAGE 2.实现消息处理函数。

例:

LPESULT CMainFrame::OnMyMessage(WPARAM wParam, LPARAM lParam) {

// TODO: 处理用户自定义消息 ... return 0; }

WM_USER+100

3.在类头文件的AFX_MEG模块中说明消息处理函数。

class CMainFrame:public CMDIFrameWnd { ...

// 一般消息映射函数 protected:

// {{AFX_MSG(CMainFrame)

afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); afx_msg void OnTimer(UINT nIDEvent);

afx_msg LRESULT OnMyMessage(WPARAM wParam, LPARAM lParam); //}}AFX_MSG

DECLARE_MESSAGE_MAP() }

4.在用户类的消息模块中使用ON_MESSAGE宏指令将消息映射到消息处理函数中。

BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd) //{{AFX_MSG_MAP(CMainFrame) ON_WM_CREATE() ON_WM_TIMER()

ON_MESSAGE(WM_MY_MESSAGE, OnMyMessage) //}}AFX_MSG_MAP END_MESSAGE_MAP()

如果用户需要定义一个整个系统唯一的消息,可以调用SDK函数RegisterWindowMessage定义消息:

Static UINT WM_MY_MESSAGE = RegisterWindowMessage(“User”);

并使用ON_REGISTERED_MESSAGE宏指令取代ON_MESSAGE宏指令,其余步骤一样。

当需要使用自定义消息的时候,可以在相应的类的函数中调用函数PostMessage或者是SendMessage发送消息。


MFC 自定义消息.doc 将本文的Word文档下载到电脑
搜索更多关于: MFC 自定义消息 的文档
相关推荐
相关阅读