指定されたメニューを破棄し、メニューが占有している全てのメモリを解放します。
#Include <GuiMenu.au3>
_GUICtrlMenu_DestroyMenu($hMenu)
パラメータ
$hMenu | メニューハンドル |
返し値
成功: | True |
失敗: | False |
注意
なし。
関連
_GUICtrlMenu_DeleteMenu, _GUICtrlMenu_CreateMenu, _GUICtrlMenu_CreatePopup
こちらも参照
MSDNライブラリでDestroyMenuを検索して下さい。
例
#include <GuiMenu.au3>
#include <GuiConstantsEx.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
Global Enum $idOpen = 1000, $idSave, $idInfo
_Main()
Func _Main()
Local $hGUI
; GUIを作成
$hGUI = GUICreate("Menu", 400, 300)
GUISetState()
; メッセージハンドラーを登録
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")
GUIRegisterMsg($WM_CONTEXTMENU, "WM_CONTEXTMENU")
; ユーザーが終了するまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; WM_COMMANDメッセージを処理
Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
Switch $iwParam
Case $idOpen
_WinAPI_ShowMsg ("Open")
Case $idSave
_WinAPI_ShowMsg ("Save")
Case $idInfo
_WinAPI_ShowMsg ("Info")
EndSwitch
EndFunc ;==>WM_COMMAND
; WM_CONTEXTMENUメッセージを処理
Func WM_CONTEXTMENU($hWnd, $iMsg, $iwParam, $ilParam)
Local $hMenu
$hMenu = _GUICtrlMenu_CreatePopup ()
_GUICtrlMenu_InsertMenuItem ($hMenu, 0, "Open", $idOpen)
_GUICtrlMenu_InsertMenuItem ($hMenu, 1, "Save", $idSave)
_GUICtrlMenu_InsertMenuItem ($hMenu, 3, "", 0)
_GUICtrlMenu_InsertMenuItem ($hMenu, 3, "Info", $idInfo)
_GUICtrlMenu_TrackPopupMenu ($hMenu, $iwParam)
_GUICtrlMenu_DestroyMenu ($hMenu)
Return True
EndFunc ;==>WM_CONTEXTMENU