Function Reference

_GUICtrlMenu_DestroyMenu

指定されたメニューを破棄し、メニューが占有している全てのメモリを解放します。

#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