c++的map是什么原理?用纯C如何实现?
发布网友
发布时间:2022-05-07 21:31
我来回答
共1个回答
热心网友
时间:2023-12-06 14:23
map是 映射, 有一个对应表。
当A事件发生时代调用什么函数处理
当B事件发生时代调用什么函数处理
当..事件发生时代调用什么函数处理
MFC 的例子:
BEGIN_MESSAGE_MAP(CXxxView, CScrollView)
//{{AFX_MSG_MAP(CXxxView)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_COLOR_TEXT, OnColorText)
ON_WM_VSCROLL() // 调用默认函数处理
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
===
C
switch(message) // 事件 id
{
case 1: fun1(); break; // 直接调用
case 2: fun2(); break;
...
default:break;
}
热心网友
时间:2023-11-14 13:25
map是 映射, 有一个对应表。
当A事件发生时代调用什么函数处理
当B事件发生时代调用什么函数处理
当..事件发生时代调用什么函数处理
MFC 的例子:
BEGIN_MESSAGE_MAP(CXxxView, CScrollView)
//{{AFX_MSG_MAP(CXxxView)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_COLOR_TEXT, OnColorText)
ON_WM_VSCROLL() // 调用默认函数处理
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
===
C
switch(message) // 事件 id
{
case 1: fun1(); break; // 直接调用
case 2: fun2(); break;
...
default:break;
}
热心网友
时间:2023-11-14 13:25
map是 映射, 有一个对应表。
当A事件发生时代调用什么函数处理
当B事件发生时代调用什么函数处理
当..事件发生时代调用什么函数处理
MFC 的例子:
BEGIN_MESSAGE_MAP(CXxxView, CScrollView)
//{{AFX_MSG_MAP(CXxxView)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_COLOR_TEXT, OnColorText)
ON_WM_VSCROLL() // 调用默认函数处理
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
===
C
switch(message) // 事件 id
{
case 1: fun1(); break; // 直接调用
case 2: fun2(); break;
...
default:break;
}
热心网友
时间:2023-11-14 13:25
map是 映射, 有一个对应表。
当A事件发生时代调用什么函数处理
当B事件发生时代调用什么函数处理
当..事件发生时代调用什么函数处理
MFC 的例子:
BEGIN_MESSAGE_MAP(CXxxView, CScrollView)
//{{AFX_MSG_MAP(CXxxView)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_COLOR_TEXT, OnColorText)
ON_WM_VSCROLL() // 调用默认函数处理
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
===
C
switch(message) // 事件 id
{
case 1: fun1(); break; // 直接调用
case 2: fun2(); break;
...
default:break;
}
热心网友
时间:2023-11-14 13:26
map是 映射, 有一个对应表。
当A事件发生时代调用什么函数处理
当B事件发生时代调用什么函数处理
当..事件发生时代调用什么函数处理
MFC 的例子:
BEGIN_MESSAGE_MAP(CXxxView, CScrollView)
//{{AFX_MSG_MAP(CXxxView)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_COLOR_TEXT, OnColorText)
ON_WM_VSCROLL() // 调用默认函数处理
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
===
C
switch(message) // 事件 id
{
case 1: fun1(); break; // 直接调用
case 2: fun2(); break;
...
default:break;
}
热心网友
时间:2023-11-14 13:26
map是 映射, 有一个对应表。
当A事件发生时代调用什么函数处理
当B事件发生时代调用什么函数处理
当..事件发生时代调用什么函数处理
MFC 的例子:
BEGIN_MESSAGE_MAP(CXxxView, CScrollView)
//{{AFX_MSG_MAP(CXxxView)
ON_COMMAND(ID_FORMAT_FONT, OnFormatFont)
ON_COMMAND(ID_COLOR_TEXT, OnColorText)
ON_WM_VSCROLL() // 调用默认函数处理
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_MOUSEMOVE()
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview)
END_MESSAGE_MAP()
===
C
switch(message) // 事件 id
{
case 1: fun1(); break; // 直接调用
case 2: fun2(); break;
...
default:break;
}