为鼠标移动事件添加新的功能-弹出菜单决定是否显示

首先,在资源里插入一条新的菜单,命名为IDR_FLOATMENU,顶层菜单的标题可以随便写,实际上对程序没有任何的影响,在顶层菜单下面添加两个子菜单项,分别为ID_SHOW_POS,标题是“显示鼠标坐标[&D]“,还有一个为ID_TEST,主要用来测试一下,标题是“测试菜单[&T]“。然后将ID_TEST映射到视图类中,将其处理函数改成:

void CMouseMoveView::OnTest()
{
 // TODO: 在此添加命令处理程序代码
 MessageBox("你点击了ID_TEST菜单项");

为CMainFrame类映射WM_CONTEXTMENU消息,该消息主要是通知windows用户在窗口中点击了右键,将其处理函数修改如下:

void CMouseMoveView::OnContextMenu(CWnd* /*pWnd*/, CPoint point)
{
 // TODO: 在此处添加消息处理程序代码
 CMenu menu;
 menu.LoadMenu(IDR_FLOATMENU);
 menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y, this);
}

重新编译后,程序如下落不明图所示:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值