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

2021-07-11 14:14:21 字數 572 閱讀 9293

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

**如下:

cmenu menu;

if (!menu.loadmenu(idr_menu1))

//獲取子選單,因為只有乙個快捷選單,所以子選單就是0(第乙個)

cmenu* ppopmenu = menu.getsubmenu(0);

ppopmenu->trackpopupmenu(tpm_leftalign | tpm_rightbutton, point.x, point.y, pwnd->getparent());

把trackpopupmenu的最後乙個引數(pwnd)改為pwnd->getparent(),這樣當你傳入的視窗指標是list 的時候,它也會去通知父視窗來處理選單訊息.

如何在EXCEL SHEET中 動態新增控制項

excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...

如何在WPF中嵌入Winform控制項

當時把wpf的控制項canvas的handle傳給c 的專案去重新整理影象的時候發現最後重新整理的是整個wpf頁面而不是控制項所在的區域,還不知道有什麼辦法可以解決。不過可以在wpf中嵌入winform的影象控制項picturebox去做重新整理。嵌入方法 1.在專案的references中加入wi...

如何在EXCEL SHEET中 動態新增控制項

excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...