VC中實現在指定控制項上彈出右鍵選單

2021-09-08 03:41:39 字數 377 閱讀 1291

①新增選單資源idr_popmenu,在資源編輯器中編輯選單第一列,並且為每個選單項新增處理函式。

②在檢視類中過載wm_contextmenu訊息(此訊息在滑鼠右鍵壓下並抬起後觸發)的處理函式oncontextmenu()中新增如下**:

crect  rect; //定義矩形區域

getdlgitem(指定控制項的id) -> getwindowrect(&rect);  //獲得控制項相對於螢幕的位置座標

if(rect.ptinrect(point))  //右擊點在指定控制項上

③每乙個選單項的訊息對映,與一般的選單相同,自己新增

command

事件的響應函式。

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

1 在網上蒐集 vc中向指定控制項新增右鍵彈出選單,談到的方法多數是新建乙個繼承自原來控制項的 mfc控制項類,在該類的 oncontextmenu cwnd pwnd cpoint point 函式中新增右鍵彈出選單的響應,完整 如下 void cmylistbox oncontextmenu c...

VC在指定控制項中新增右鍵選單的兩種方法

1 在網上蒐集vc中向指定控制項新增右鍵彈出選單,談到的方法多數是新建乙個繼承自原來控制項的mfc控制項類,在該類的oncontextmenu cwnd pwnd cpoint point 函式中新增右鍵彈出選單的響應,完整 如下 void cmylistbox oncontextmenu cwnd...

如何在list控制項中響應右鍵彈出選單中的選單事件

當你在list控制項中右鍵單擊的時候可以正常彈出選單,但是當你選擇選單的功能的時候卻沒有反應,這是為什麼呢?原因很簡單,選單事件處理訊息是主視窗處理的,而你是在子視窗 list 中選擇的,傳入的視窗指標是子視窗的,處理訊息的自然也是子視窗的,但是子視窗並沒有處理相應訊息的事件處理程式,所以才會有在l...