vc 指定控制項滑鼠右鍵選單

2021-05-24 02:05:36 字數 800 閱讀 6067

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...