Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: popup menus
#DefineFunction CreatePopupMenu() user32=StrCat(DirWindows(1),"User32.DLL") return DLLCall(user32,long:"CreatePopupMenu") #EndFunction #DefineFunction DestroyMenu(hmenu) user32=StrCat(DirWindows(1),"User32.DLL") return DLLCall(user32,long:"DestroyMenu",long:hmenu) #EndFunction #DefineFunction AppendMenu(hmenu, wFlags, wIDNewItem, lpNewItem) user32=StrCat(DirWindows(1),"User32.DLL") return DLLCall(user32,long:"AppendMenuA",long:hmenu, long:wFlags, long:wIDNewItem, lpstr:lpNewItem) #EndFunction #DefineFunction TrackPopupMenu(hmenu, wFlags, x, y, nReserved, hwnd, rect) user32=StrCat(DirWindows(1),"User32.DLL") dllCall(user32, long:"SetForegroundWindow", long:hwnd) return DLLCall(user32,long:"TrackPopupMenu",long:hmenu, long:wFlags, long:x, long:y, long:nReserved, long:hwnd, long:rect) #EndFunction MF_STRING = 0 TPM_RETURNCMD = 256 TPM_LEFTBUTTON = 0 hwnd=dllhwnd("") ;create menu hmenu = CreatePopupMenu() AppendMenu(hmenu, MF_STRING, 1, "Edit") AppendMenu(hmenu, MF_STRING, 2, "Exit") boxopen("", "") :begin s=0 while s==0 if MouseInfo(4)==1 ;right click ;mouse coordinates mc = MouseInfo(3) s = TrackPopupMenu(hmenu, TPM_RETURNCMD|TPM_LEFTBUTTON, itemextract(1, mc, " "), itemextract(2, mc, " "), 0, hwnd, 0) DestroyMenu(hmenu) ;???? Added 11/03/2004 endif endwhile switch s case 1 ;edit message("", "edit") break case 2 ;exit message("", "exit") DestroyMenu(hmenu) boxdestroy(1) exit break endswitch goto begin ;set MIIM_SUBMENU MENUITEMINFO ;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_39f3.asp ;insert ;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus_4c6l.asp
Article ID: W15285
File Created: 2004:11:03:08:59:24
Last Updated: 2004:11:03:08:59:24