メニュー項目を挿入
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 IDuFlags
uPositionの意味を指定する定数uIDNewItem
新しいメニュー項目のインデックス or IDlpNewItem
uFlagsにMF_POPUPが設定されていたときは
サブメニューのハンドル
新しいメニュー項目の内容を指定する定数戻り値
正常終了のとき 0以外uFlagsの定数
エラーのとき 0
lpNewItemの定数
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 メニュー項目はチェックしない
サンプル
MF_BITMAP = &H4 ビットマップのハンドル
MF_OWNERDRAW = &H100 アプリケーション定義の32ビット値
MF_StrING = &H0 文字列