ATL Activex 右擊菜單

        今天想了解下ATL 的acitvex基本開發,實現了基本的js調用裏面的方法,後來添加了右鍵菜單代碼以下函數

 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 }

    結果菜單就是彈不出來,,,調試發現是m_hWnd句柄爲NULL致使。
    小弟不才使用了下面2種解決方法:
   1.從新獲取下m_hWnd.
   2.在CClassName構造函數裏面添加下面一行代碼解決問題。spa

1 m_bWindowOnly   =   TRUE;
相關文章
相關標籤/搜索