Function Reference

_GUICtrlMenu_SetMenuInfo

指定されたメニューの情報を設定します。

#Include <GuiMenu.au3>
_GUICtrlMenu_SetMenuInfo($hMenu, ByRef $tInfo)

 

パラメータ

$hMenu メニューハンドル
$tInfo $tagMENUINFO構造体

 

返し値

成功: True
失敗: False

 

注意

なし。

 

関連

_GUICtrlMenu_GetMenuInfo, $tagMENUINFO

 

こちらも参照

MSDNライブラリでSetMenuInfoを検索して下さい。

 


#include <GuiMenu.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $hWnd, $hMain, $hFile, $tInfo

    ; メモ帳を開く
    Run("Notepad.exe")
    WinWaitActive("[CLASS:Notepad]")
    $hWnd = WinGetHandle("[CLASS:Notepad]")
    $hMain = _GUICtrlMenu_GetMenu($hWnd)
    $hFile = _GUICtrlMenu_GetItemSubMenu($hMain, 0)

    ; ファイルメニューの情報を取得/設定
    $tInfo = _GUICtrlMenu_GetMenuInfo($hFile)
    Writeln("Menu style ..........: " & DllStructGetData($tInfo, "Style"))
    Writeln("Menu max height .....: " & DllStructGetData($tInfo, "YMax"))
    Writeln("Menu background brush: " & DllStructGetData($tInfo, "hBack"))
    Writeln("Menu context help ID : " & DllStructGetData($tInfo, "ContextHelpID"))
    Writeln("Menu data ...........: " & DllStructGetData($tInfo, "MenuData"))
    Writeln("")
    $tInfo = DllStructCreate($tagMENUINFO)
    DllStructSetData($tInfo, "Size", DllStructGetSize($tInfo))
    DllStructSetData($tInfo, "Mask", BitOR($MIM_HELPID, $MIM_MAXHEIGHT, $MIM_MENUDATA))
    DllStructSetData($tInfo, "YMax", 100)
    DllStructSetData($tInfo, "ContextHelpID", 1234)
    DllStructSetData($tInfo, "MenuData", 4567)
    _GUICtrlMenu_SetMenuInfo($hFile, $tInfo)
    $tInfo = _GUICtrlMenu_GetMenuInfo($hFile)
    Writeln("Menu style ..........: " & DllStructGetData($tInfo, "Style"))
    Writeln("Menu max height .....: " & DllStructGetData($tInfo, "YMax"))
    Writeln("Menu background brush: " & DllStructGetData($tInfo, "hBack"))
    Writeln("Menu context help ID : " & DllStructGetData($tInfo, "ContextHelpID"))
    Writeln("Menu data ...........: " & DllStructGetData($tInfo, "MenuData"))
    Writeln("")

EndFunc   ;==>_Main

; メモ帳にテキストを1行書き込む
Func Writeln($sText)
    ControlSend("[CLASS:Notepad]", "", "Edit1", $sText & @CR)
EndFunc   ;==>Writeln