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





API 技術関連のページへ戻る

ホーム PV ランキング