MFC中利用CMenu类动态添加弹出菜单和响应函数
步骤:
1 声明一个菜单:
CMenu menu;
2 生成菜单对象:
menu.CreatePopupMenu();
3 给菜单添加上内容:
menu.AppendMenu(MF_STRING,WM_CLEARHOSTS,"清除HOSTS");
AppendMenu函数具体的意义可以查看MSDN,其中WM_CLEARHOSTS为自定义的一个消息,最后一个参数为菜单的text,点击这个菜单就可以调用WM_CLEARHOSTS消息的处理函数。
4 添加子弹出菜单:
CMenu submenu;
submenu.CreatePopupMenu();
menu.AppendMenu(MF_POPUP,(UINT_PTR)(submenu.m_hMenu),"sub");
5 设置当失去焦点时菜单自动消失
SetForegroundWindow();
6 设置菜单的位置: