麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

得知目前Mouse所指的MenuItem是哪一個

2019-11-18 17:52:51
字體:
來源:轉載
供稿:網友
請先查閱有BitMap的Menu取得Menu的相關知識,再查如何攔截ComboBoxMouseMove的SubClass之技巧一些商業軟件中,當滑鼠指向某個MenuItem時,在表單的底部STATUSBAR中會顯示有該Item功能的簡要說明。而VB5中有關Menu的捕捉事件只有一個CLICK,那該如何做呢。其實當選擇了Menu後,Mouse在MenuSubMenuMenuItem上移來移去時,會產生WM_MENUSELECT的Message給Menu所在的表單,而其wParam的LowWord有兩個意義,如果Mouse指到的Item之下還有子Menu,該LowWordofwParam指的是該Item是第幾個SubMenu,而lParam便是Menu的Handle;相反的,如果Mouse所指的Item底下沒有PopupMenu了,那LowWordofwParam指的是MenuID,而lParam是hSubMenu。

檔案編輯選項-->hMenu(功能表,Menu)
-------
|復制|--------->hSubMenu(子功能表,SubMenu)
|貼上|
|減下------------->MenuID(功能表項目,MenuItem)
||
-------

所以了,這就得使用SubClass的技巧,取得WM_MENUSELECT的Message,進而得知到底是選到了哪一個MenuItem。當然了,我們可以使用GetMenuGetSubMenuGetMenuItemID等API來得知功能表上每一個項目的hMenuhSubMenuMenuID,如此一來,和WM_MENUSELECT訊息所取得的lParamwParam做做比較,就可得知到底選上了哪一個,而本例則是使用GetMenuString取得MenuItem的title,如果您的MenuItems沒有相同的title,也不失一得知方式。

'以下在form,請自行加Menu於Form上
Else
CallGetMenuString(hMenu,hSubmenu,SubMenuStr,256,MF_BYCOMMAND)
SubMenuStr=Left(SubMenuStr,InStr(1,SubMenuStr,Chr(0))-1)
Debug.Print"正在PopUpMenu" SubMenuStr
EndIf
EndIf
'將之送往原來的WindowProcedure
wndproc=CallWindowProc(preWinProc,hwnd,Msg,wParam,lParam)
EndFunction->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91麻豆精品国产91久久久点播时间 | 精品成人国产在线观看男人呻吟 | 久久成人精品视频 | 成人一区二区三区四区 | 中文字幕观看 | 成人在线视频网 | 精品久久久久久综合日本 | 国产精品hd免费观看 | 国产精品自在线拍 | 日韩视频在线不卡 | 欧美激情综合在线 | 久久精品一区二区三区四区五区 | 日韩在线毛片 | 久久久久久久久成人 | 一区二区三区黄色 | 中文字幕国产一区 | 国产精品99久久99久久久二 | 国产69久久久| 亚洲第五色综合网 | 国产成人在线一区二区 | 蜜桃成品人免费视频 | 国产精品久久久久影院老司 | 久久99精品久久久久久小说 | 精品国产一区二区三 | 成人18免费观看 | 黄污网址| 欧美日穴视频 | 亚洲综合精品成人 | 亚洲精品久久久久久久久久 | 海外中文字幕在线观看 | 成人精品一区二区三区中文字幕 | 成人免费一区二区三区视频网站 | 久久久精品视频免费看 | av电影院在线观看 | 中文字幕在线观看1 | 青青草免费观看完整版高清 | 久久男人视频 | 全免费午夜一级毛片真人 | 日韩欧美高清一区 | 日韩一级视频 | 国产精品91在线 |