主题:如何去判断一个句柄是否菜单句柄
pouncle
[专家分:1200] 发布于 2005-12-06 02:52:00
在网上查了好久得不到想要的资料,只得在这一问,请各位大侠指教指教
在一个程序里我用WINDOWS API里的GetCursorPos()函数获得了鼠标的位置
然后用WindowFromPoint()获得该位置的句柄,但是如何去判断这个句柄是否为菜单句柄,WINDOWS API 里有个IsMenu函数,但我用该函数时,不管该句柄为何值它返回的都是false,要用什么方法去判断这个句柄是否一个菜单的句柄呢?请各位指教
回复列表 (共8个回复)
沙发
erping [专家分:3660] 发布于 2005-12-06 17:52:00
你可以使用 MenuItemFromPoint
MENU != WINDOW
板凳
pouncle [专家分:1200] 发布于 2005-12-06 21:44:00
MenuItemFromPoint返回的是指定点条目的位置啊,为什么使用MENU != WINDOW
还是要谢谢你
3 楼
erping [专家分:3660] 发布于 2005-12-06 21:51:00
菜单和窗口是不同的
4 楼
pouncle [专家分:1200] 发布于 2005-12-06 22:14:00
我知道是不同,但用WindowFromPoint()一样可以得到一个菜单的句柄,不是吗?
5 楼
erping [专家分:3660] 发布于 2005-12-07 12:10:00
你还是没有明白我的意思
窗口和菜单是不一样的
CreateWindow
CreateMenu
6 楼
pouncle [专家分:1200] 发布于 2005-12-07 23:42:00
当鼠标指向一个菜单时,我用WindowFromPoint()取回一个句柄,由该句柄得出类名为#32768,可以确定这是个菜单的句柄啊,可用IsMenu总是返回FALSE
7 楼
小笨象 [专家分:30] 发布于 2005-12-10 22:42:00
HWND MenuHandel=FindWindowEx(NULL,NULL,"#32768",NULL);
这句话就行了。
MenuHandel就是当前系统中弹出的菜单。
8 楼
pouncle [专家分:1200] 发布于 2005-12-10 22:56:00
呵呵,我不是要去获取一个弹出菜单,而是想判断被WindowFromPoint获取的句柄是不是一个菜单的句柄,不过还是要谢谢
我来回复