vc 多个菜单 绑定一个 方法 获取对应控件id

今天碰到这个问题,就修改了系统对应的方法,都改为映射成自己的方法。如下IDM_DOT等几个控件都对应自己的方法OnGGG,但是在OnGGG里面不知道怎么获取是哪一个控件点击的,想着用LOWORD(wParam)可以获取,但是默认生成的方法是没有参数的,那么就在自己的方法里手动加上吧。afx_msg void OnGGG(WPARAM wParam,LPARAM lParam); 可是 跟踪代码发现,虽然点击那几个控件都进入了OnGGG方法,可是LOWORD(wParam)根本不是对应的控件id,用百度搜不到,百度真垃圾,用google搜,搜到的第一篇文章就是解决方法http://blog.sina.com.cn/s/blog_6bb0113e0100q9fw.html,用LOWORD(GetCurrentMessage()->wParam);就可以了。

后来想了想原因,也许是因为这个不是自定义的方法,根本没有地方传什么wParam,lParam参数,又怎么能获取到呢。如果是自定义方法,自己传入对应的参数,肯定就可以获取到了。估计是这样吧,先这么理解吧。

 

BEGIN_MESSAGE_MAP(CGraphicView, CView)
	//{{AFX_MSG_MAP(CGraphicView)

	//}}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)
	ON_COMMAND(IDM_DOT, OnGGG)
	ON_COMMAND(IDM_ELLIPSE, OnGGG)
	ON_COMMAND(IDM_LINE, OnGGG)
	ON_COMMAND(IDM_RECTANGLE, OnGGG)
	ON_MESSAGE(WM_USER_MSG,OnSelfMsg)
END_MESSAGE_MAP()


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值