请问:谁能更详细的解释一下BEGIN_MESSAGE_MAP(CMenuView, CView)和END_MESSAGE_MAP() 具体是什么?是函数还是宏定义?在vc程序体的哪个地方哪个文件定义过?有什么作用?
问题描述:
请问:谁能更详细的解释一下BEGIN_MESSAGE_MAP(CMenuView, CView)和END_MESSAGE_MAP() 具体是什么?是函数还是宏定义?在vc程序体的哪个地方哪个文件定义过?有什么作用?
BEGIN_MESSAGE_MAP(CMenuView, CView)
ON_WM_CONTEXTMENU()
//{{AFX_MSG_MAP(CMenuView)
ON_COMMAND(IDM_TEST, OnTest)
ON_WM_RBUTTONDOWN()
ON_COMMAND(IDM_SHOW, OnShow)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()
ON_WM_RBUTTONDOWN() 是消息映射函数吗?这个函数在程序体的哪个地方定义的?它的形参有几个?它们分别是什么?起什么作用?
答
BEGIN_MESSAGE_MAP(CMenuView, CView)
END_MESSAGE_MAP()
宏定义 简单的讲都是通过宏定义为类添加一个消息/处理函数对组成的数组,而ON_WM_RBUTTONDOWN()也是宏,就是往这个数组中添加一个消息/消息处理函数对而已
细节可参看