用向導創建了一個outlook界面風格的程式,在outlookbar中添加了tree view control,如下:
CTreeCtrl m_Tree;
在cpp中添加創建它的代碼:
m_Tree.Create(dwTreeStyle, rectDummy, &bar, ID_TREE1);
上面的ID_TREE1在頭檔案中定義了。
現在界面顯示也正常,tree也出來了,我想給它添加右鍵選單,但是不知道它如何回應滑鼠右鍵。在MainFrame里添加滑鼠左右鍵的處理方法均無效,下斷點顯示程式根本沒有進入處理。滑鼠右鍵在tree ctrl的任何部分(空白,節點等)都只是讓outlookbar彈出它默認右鍵選單,里面只有控制outlookbar進行dock的一些操作。
我試著多載outlookbar的OnShowControlBarMenu函式。現在默認右鍵選單不彈出了(雙擊右鍵會彈出,單擊不會),但是仍然沒有辦法點treectrl回應滑鼠訊息。哪位大俠處理過類似的情況,請賜教,謝謝。
uj5u.com熱心網友回復:
右鍵選單彈出一般是添加在 WM_CONTEXTMENU 訊息處理中可以考慮 從 CTreeCtrl 中派生新類, 然后添加 WM_CONTEXTMENU 訊息處理 TrackPopupMenu
或者試試父視窗 添加 NM_RCLICK 事件回應訊息中處理
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/130514.html
標籤:界面
