1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Windows Interface Reference: Menu structure</title>
</head>
<body>
<h1>Menu </h1>
<p>The Menu structure contains functions and structures to create and operate on menus.</p>
<pre>structure Menu:
sig
type HMENU and HBITMAP and HWND and HINSTANCE
type RECT = { left: int, top: int, right: int, bottom: int }
datatype MenuFlag =
MF_BYCOMMAND | MF_BYPOSITION | MF_SEPARATOR | MF_ENABLED | MF_GRAYED |
MF_DISABLED | MF_UNCHECKED | MF_CHECKED | MF_USECHECKBITMAPS | MF_STRING |
MF_BITMAP | MF_OWNERDRAW | MF_POPUP | MF_MENUBARBREAK | MF_MENUBREAK |
MF_UNHILITE | MF_HILITE | MF_DEFAULT | MF_SYSMENU | MF_HELP |
MF_RIGHTJUSTIFY | MF_MOUSESELECT
datatype MenuIdOrHandle = MenuHandle of HMENU | MenuId of int
datatype MenuItemOptions =
MFT_MENUBARBREAK
| MFT_MENUBREAK
| MFT_RADIOCHECK
| MFT_RIGHTJUSTIFY
| MFT_RIGHTORDER
datatype MenuItemType =
MFT_BITMAP of HBITMAP
| MFT_OWNERDRAW of int
| MFT_SEPARATOR
| MFT_STRING of string
datatype MenuState =
MFS_CHECKED
| MFS_DEFAULT
| MFS_DISABLED
| MFS_ENABLED
| MFS_GRAYED
| MFS_HILITE
| MFS_UNCHECKED
| MFS_UNHILITE
type MenuItemInfo =
{
menuType: MenuItemType,
menuOptions: MenuItemOptions list,
state: MenuState list,
wID: int,
hSubMenu: HMENU option,
hbmpChecked: HBITMAP option,
hbmpUnchecked: HBITMAP option,
itemData: int
}
val <a
name="AppendMenu">AppendMenu</a> : HMENU * MenuFlag list * MenuIdOrHandle * MenuItemType -> unit
val CheckMenuRadioItem : HMENU * int * int * int * MenuFlag -> unit
val <a
name="CreateMenu">CreateMenu</a> : unit -> HMENU
val CreatePopupMenu : unit -> HMENU
val DeleteMenu : HMENU * int * MenuFlag -> unit
val DestroyMenu : HMENU -> unit
val DrawMenuBar : HWND -> unit
val EnableMenuItem : HMENU * int * MenuFlag -> MenuFlag list
val GetMenu : HWND -> HMENU
datatype GMDIFlags = GMDI_GOINTOPOPUPS | GMDI_USEDISABLED
val GetMenuDefaultItem : HMENU * bool * GMDIFlags list -> int
val GetMenuItemCount : HMENU -> int
val GetMenuItemID : HMENU -> int
val GetMenuItemInfo : HMENU * int * bool -> MenuItemInfo
val GetMenuItemRect : HWND * HMENU * int -> RECT
val GetMenuState : HMENU * int * MenuFlag -> MenuFlag list * int
val GetMenuString : HMENU * int * MenuFlag -> string
val GetSubMenu : HMENU * int -> HMENU
val GetSystemMenu : HWND * bool -> HMENU
val HiliteMenuItem : HWND * HMENU * int * MenuFlag list -> unit
val InsertMenu : HMENU * int * MenuFlag list * MenuIdOrHandle * MenuItemType -> unit
val IsMenu : HMENU -> bool
val LoadMenu : HINSTANCE * Resource.RESID -> HMENU
val ModifyMenu : HMENU * int * MenuFlag list * MenuIdOrHandle * MenuItemType -> unit
val RemoveMenu : HMENU * int * MenuFlag -> unit
val SetMenu : HWND * HMENU option -> unit
val SetMenuItemInfo : HMENU * int * bool * MenuItemInfo -> unit
val InsertMenuItem : HMENU * int * bool * MenuItemInfo -> unit
datatype TrackPopupMenuOptions =
TPM_LEFTBUTTON | TPM_RIGHTBUTTON | TPM_LEFTALIGN | TPM_CENTERALIGN | TPM_RIGHTALIGN |
TPM_TOPALIGN | TPM_VCENTERALIGN | TPM_BOTTOMALIGN | (*TPM_HORIZONTAL | TPM_VERTICAL |*)
TPM_NONOTIFY | TPM_RETURNCMD
val TrackPopupMenu : HMENU * TrackPopupMenuOptions list * int * int * HWND -> int
val SetMenuContextHelpId: HMENU * int -> unit
val GetMenuContextHelpId: HMENU -> int
end</pre>
</body>
</html>
|