1
、在網上蒐集
vc中向指定控制項新增右鍵彈出選單,談到的方法多數是新建乙個繼承自原來控制項的
mfc控制項類,在該類的
oncontextmenu(cwnd* /*pwnd*/, cpoint point)
函式中新增右鍵彈出選單的響應,完整**如下:
void cmylistbox::oncontextmenu(cwnd* /*pwnd*/, cpoint point)
這種方法的優點是所有該類控制項均支援同樣的彈出選單,從**的可重用性來說效率是非常高的,你不用對每乙個控制項單獨增加彈出選單的**,減少了**編寫的工作量。但這種方法需要新增加乙個類,包括乙個
.h檔案和
.cpp
檔案,使得**管理更加麻煩,特別類本來就比較多的程式中,同時如果你希望多個控制項產生不同的右鍵彈出選單,或者你需要產生右鍵彈出選單的控制項並不多,這種方法就顯得比較呆板了
^_^,在這種情況下我們通常使用下一種方法; 2
、這種方法是僅僅響應控制項所在視窗的
oncontextmenu(cwnd* /*pwnd*/, cpoint point)
函式,在該函式中增加判斷當前滑鼠右擊點是否在控制項區域內的過程,如果判斷滑鼠右擊點在指定控制項中,則顯示相應彈出選單。這種方法實現起來簡單、靈活,完整
vc**如下:
void cmyfiledlg::oncontextmenu(cwnd* /*pwnd*/, cpoint point)
} 這樣,我們就可以在
vc中通過上述兩種方法向指定控制項中新增右鍵選單了,具體使用哪種方法,則可根據情況而選擇。
VC中實現在指定控制項上彈出右鍵選單
新增選單資源idr popmenu,在資源編輯器中編輯選單第一列,並且為每個選單項新增處理函式。在檢視類中過載wm contextmenu訊息 此訊息在滑鼠右鍵壓下並抬起後觸發 的處理函式oncontextmenu 中新增如下 crect rect 定義矩形區域 getdlgitem 指定控制項的i...
VC在指定控制項中新增右鍵選單的兩種方法
1 在網上蒐集vc中向指定控制項新增右鍵彈出選單,談到的方法多數是新建乙個繼承自原來控制項的mfc控制項類,在該類的oncontextmenu cwnd pwnd cpoint point 函式中新增右鍵彈出選單的響應,完整 如下 void cmylistbox oncontextmenu cwnd...
Vue element控制滑鼠右鍵選單
1 在頁面元素繫結contextmenu事件 元素中使用 contextmenu.prevent.native openmenu event 繫結事件 template span size medium contextmenu.prevent.native openmenu event templa...