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