首页 > 其他 > 详细

ATL Activex 右击菜单

时间:2014-04-10 15:04:46      阅读:485      评论:0      收藏:0      [点我收藏+]

        今天想了解下ATL 的acitvex基本开发,实现了基本的js调用里面的方法,后来添加了右键菜单代码如下

bubuko.com,布布扣
 1 LRESULT CClassName::OnRButtonDown(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
 2 {
 3     // TODO: 在此添加消息处理程序代码和/或调用默认值
 4     HMENU hMenu;
 5     hMenu=CreatePopupMenu(); 
 6     AppendMenu(hMenu, MF_STRING, 1, L"test1");
 7     AppendMenu(hMenu, MF_STRING, 2, L"test2");
 8     POINT ptDown;
 9     GetCursorPos(&ptDown);
10     TrackPopupMenu(hMenu,TPM_TOPALIGN | TPM_RETURNCMD,ptDown.x,ptDown.y,NULL,m_hWnd,NULL); 
11     return 0;
12 }
bubuko.com,布布扣

    结果菜单就是弹不出来,,,调试发现是m_hWnd句柄为NULL导致。
    小弟不才使用了下面2种解决方法:
   1.重新获取下m_hWnd.
   2.在CClassName构造函数里面添加下面一行代码解决问题。

1 m_bWindowOnly   =   TRUE;

  

ATL Activex 右击菜单,布布扣,bubuko.com

ATL Activex 右击菜单

原文:http://www.cnblogs.com/shark-smart/p/3656069.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!