InsertMenu

機能
メニュー項目を挿入
Declare Function InsertMenu Lib "user32.dll" Alias "InsertMenuA" _
(ByVal hMenu As Long, ByVal uPosition As Long, ByVal uIDNewItem As Long, _
ByVal uFlags As Long, ByVal lpNewItem As String) As Long
Declare Function InsertMenu Lib "user32.dll" Alias "InsertMenuA" _
(ByVal hMenu As Integer, ByVal uPosition As Integer, ByVal uIDNewItem As Integer, _
ByVal uFlags As Integer, ByVal lpNewItem As String) As Integer

BOOL InsertMenu(
HMENU hMenu,
UINT uPosition,
UINT uFlags,
UINT_PTR uIDNewItem,
LPCTSTR lpNewItem
);
引数
hMenu

メニューハンドル
uPosition
追加する位置のメニュー項目のインデックス or ID
uFlags
uPositionの意味を指定する定数
uIDNewItem
新しいメニュー項目のインデックス or ID
uFlagsにMF_POPUPが設定されていたときは
サブメニューのハンドル
lpNewItem
新しいメニュー項目の内容を指定する定数
戻り値
正常終了のとき  0以外
エラーのとき  0
uFlagsの定数

MF_BYCOMMAND = &H0              uPositionはメニューID
MF_BYPOSITION = &H400           uPositionは既存のメニューインデックス
MF_BITMAP = &H4                 メニュー項目はビットマップ
                                 (lpNewItemはビットマップのハンドル)
MF_CHECKED = &H8                メニュー項目にチェックをつける
MF_DISIBLED = &H3               無効
MF_ENABLED = &H0                選択可能
MF_GRAYED = &H3                 グレー表示されて選択できない
MF_MENUBARBREAK = &H20          メニューバーを指定の位置で改行する
MF_MENUBREAK = &H40             メニューバーのとき、改行
                                 サブメニューのとき、新しい列を作る
MF_OWNERDRAW = &H100            オーナー描画メニュー
MF_POPUP = &H10                 メニュー項目はサブメニュー
MF_SEPARATOR = &H800            メニュー項目はセパレータである
MF_StrING = &H0                 メニュー項目は文字列を表示
MF_UNCHECKED = &H0              メニュー項目はチェックしない
lpNewItemの定数

MF_BITMAP = &H4                 ビットマップのハンドル
MF_OWNERDRAW = &H100            アプリケーション定義の32ビット値
MF_StrING = &H0                 文字列
サンプル
CheckMenuRadioItem()関数のサンプルに含まれています