113.メニューに新しい項目を追加する
< 使用用途 >
メニューに新しい項目を追加する
サンプルソースをダウンロードする方は下記の「ダウンロード」を!
=> ダウンロード・・・「システムメニューに新しい項目を追加するサンプル」で使用しています。
< 説明 >
API関数のInsertMenuを使用します
InsertMenu =>メニューに新しい項目を追加
<引数>
hMenu:メニューのハンドル
nPosition:定数(SC_××参照)>>その上に追加
wFlags::MF_BYCOMMAND
wIDNewItem:コマンドID
lpNewItem:項目の文字列
@戻り値@
正常終了0以外
< SAMPLE >
’ここではシステムメニューの「元のサイズに戻す」の上に「MADIAのVB研究室」を追加する処理です。
'標準モジュール
Public Declare Function InsertMenu Lib "USER32" Alias "InsertMenuA"
(ByVal hMenu As Long, ByVal nPosition&, ByVal wFlags As Long, ByVal
wIDNewItem As Long, ByVal lpNewItem As String) As Long
Public Declare Function GetSystemMenu Lib "USER32" (ByVal hWnd
As Long, ByVal bRevert As Long) As Long
Public Const SC_CLOSE = &HF060'「閉じる」
Public Const SC_SIZE = &HF000 '「サイズ変更」
Public Const SC_MAXIMIZE = &HF030 '「最大化」
Public Const SC_RESTORE = &HF120'「元のサイズに戻す」
Public Const SC_MINIMIZE = &HF020'「最小化」
Public Const SC_MOVE = &HF010 '「移動」
Public Const MF_BYCOMMAND = &H0&
'ここからはフォームの処理です
Private Sub Command1_Click()
Dim hMen As Long
Dim Ret As Long
hMen = GetSystemMenu(Form1.Hwnd, 0)
Ret = InsertMenu(hMen,SC_RESTORE , MF_BYCOMMAND, 0, "MADIAのVB研究室")
If Ret<>0 then MsgBox "追加しました"
End Sub