手动添加消息映射
来源:互联网 发布:纽约房价知乎 编辑:程序博客网 时间:2024/04/28 21:03
本文以CMenu类为例子,手动添加菜单消息.
1. 先建立一个基于对话框的工程,工程名字为test.
2.在testDlg.h中加入
public:
CMenu m_menu,m_menuItem;
#define WM_GETMSG WM_USER + 10000
// Generated message map functions
//{{AFX_MSG(CTestDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnMenuOne();//此行为添加内容,菜单映射的函数
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
LRESULT OnGetMsg(WPARAM wParam, LPARAM lParam);
3.在testDlg.cpp中加入
BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
//{{AFX_MSG_MAP(CTestDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_COMMAND(10000,OnMenuOne)//此行为添加内容,点击ONE菜单
ON_MESSAGE(WM_GETMSG,OnGetMsg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BOOL CTestDlg::OnInitDialog()
{
// TODO: Add extra initialization here
m_menu.CreateMenu();
m_menuItem.CreateMenu();
m_menuItem.AppendMenu(MF_STRING,10000,"one(&O)");//O为热键
m_menuItem.AppendMenu(MF_STRING,10001,"two(&T)");//T为热键
m_menu.AppendMenu(MF_POPUP,(UINT)m_menuItem.m_hMenu,"menu(&M)");//ALT+M为热键
m_menu.EnableMenuItem(10001,1);//TWO菜单为不可用
this->SetMenu(&m_menu);
}
void CTestDlg::OnMenuOne()
{
AfxMessageBox("the number one of menu cliecked!");
}
LRESULT CTestGroupDlg::OnGetMsg(WPARAM wParam, LPARAM lParam)
{
UpdateData(TRUE);
return 0;
}
- 手动添加消息映射
- 手动添加消息映射
- 手动添加WM_CREATE消息映射
- 自定义消息如何手动添加消息映射?
- 手动添加自己的消息映射函数
- MFC中手动添加消息映射
- 手动书写控件变量的添加,手动实现命令消息映射和通知消息映射
- MFC在VS2008中如何手动添加消息映射
- MFC在VS2008中如何手动添加消息映射
- MFC在VS2008中如何手动添加消息映射
- Visual Studio中手动添加默认消息映射
- Visual Studio中手动添加自定义消息映射
- MFC在VS2008中如何手动添加消息映射
- 手动添加消息响应
- 手动添加消息
- 手动添加消息响应
- VC6中添加消息映射
- 手动添加MapControl中的消息响应函数
- 常用免费软件
- 控件之美_常用业务组件写法
- 数据库类
- WEB 开发者写作社区
- 文件上传、下载(转)
- 手动添加消息映射
- PATINDEX
- JDBC学习笔记1
- 本BLOG声明!
- 我的第一个blog
- hello
- jdbc学习笔记2
- 今天真的走了,心里却有点难过!
- Java新手留意:Java编程三十条规则