109.メニューの項目を削除する

< 使用用途 >
システムメニューの項目を削除

サンプルソースをダウンロードする方は下記の「ダウンロード」を!
=> ダウンロード・・・「システムメニューの項目を無効化、有効化、削除する」サンプルで使用しています。。


 < 説明 >
API関数のDeleteMenuを使用します
DeleteMenu =>メニューの項目を削除
  <引数>
     hMenu:メニューのハンドル
     nPosition:定数(SC_××参照)>>既存のメニューを削除する場合
     wFlag: MF_BYCOMMAND      
  @戻り値@
      正常終了0以外


< SAMPLE >

'標準モジュール


Public Declare Function DeleteMenu Lib "USER32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags 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'「移動」

'------------------------------------------
'■関数名 Delete
'■用途  システムメニューの項目を削除する
'■引数  nHandle:ウインドウのハンドル
'       Flag:削除する項目(SC_××参照)
'------------------------------------------

Public Sub Delete(nHandle As Long, Flag As String)

Dim hMen As Long
Dim Ret As Long

'システムメニューのハンドルを確保
hMen = GetSystemMenu(nHandle, 0)
'システムメニューの項目を削除する
Ret = DeleteMenu(hMen, Flag, MF_BYCOMMAND)
'描画(変更を反映)
Ret = DrawMenuBar(nHandle)

End Sub

'ここからはフォームの処理です
Private Sub Command1_Click
 Call Delete(hwnd, SC_SIZE)
End Sub





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

ホーム PV ランキング