Function Reference

_GUICtrlMenu_AppendMenu

メニューバー、ドロップダウンメニュー、サブメニュー、ショートカットメニューの末尾に新しいアイテムを追加します。

#Include <GuiMenu.au3>
_GUICtrlMenu_AppendMenu($hMenu, $iFlags, $iNewItem, $pNewItem)

 

パラメータ

$hMenu メニューのハンドル
$iFlags 新しいメニューアイテムの外見と動作を制御するフラグを指定します:
$MF_BITMAP - メニューアイテムとしてビットマップを使用します。
$MF_CHECKED - メニューアイテムの隣にチェックマークを配置します。
アプリケーションがチェックマークビットマップを指定した場合、メニューアイテムの隣にチェックマークビットマップを表示します。
$MF_DISABLED - 選択できないようにメニューアイテムを無効にします。ただしこのフラグではグレイアウトはされません。
$MF_ENABLED - 選択できるようにメニューアイテムを有効にし、グレイ状態がから復帰させます。
$MF_GRAYED - 選択できないようにメニューアイテムを無効化・グレイアウトします。
$MF_MENUBARBREAK - メニューバーの$MF_MENUBREAKと同様の機能です。
ドロップダウンメニュー、サブメニュー、ショートカットメニューで新しい列と古い列を縦線で分けます。
$MF_MENUBREAK - アイテムを新しい行(メニューバーの場合)または新しい列(ドロップダウンメニュー、サブメニュー、ショートカットメニューの場合)にセパレート用の列なしで配置します。
$MF_OWNERDRAW - アイテムをオーナー描画アイテムに指定します。
メニューが最初に表示される前に、メニューを所有するウィンドウはメニューアイテムの幅と高さを取得するための$WM_MEASUREITEMメッセージを受け取ります。
またメニューアイテムの表示を更新する必要が生じるとオーナーウィンドウのウィンドウプロシージャに$WM_DRAWITEMメッセージが送信されます。
$MF_POPUP - そのメニューアイテムによってドロップダウンメニューまたはサブメニューが開かれるように指定します。
iNewItemパラメータによってドロップダウンメニューまたはサブメニューのハンドルを指定します。
このフラグはメニュー名をメニューバーに追加する場合、またはサブメニューを開くメニューアイテムをドロップダウンメニュー、サブメニュー、ショートカットメニューに追加する場合に使用します。
$MF_SEPARATOR - 水平方向の境界線を描画します。このフラグはドロップダウンメニュー、サブメニュー、ショートカットメニューでのみ使用されます。
ラインをグレイアウト、無効化、ハイライトすることはできません。pNewItemパラメータとiNewItemパラメータは無視されます。
$MF_STRING - メニューアイテムをテキスト文字列にします。pNewItemパラメータは文字列です。
$MF_UNCHECKED - アイテムの隣にチェックマークを配置しません。
アプリケーションがチェックマークビットマップを指定した場合、このフラグは空のビットマップをメニューアイテムの隣に表示します。
$iNewItem 新しいメニューアイテムの識別子または$iFlagsパラメータがポップアップに設定されている場合はドロップダウンメニューまたはサブメニューのハンドルを指定します。
$pNewItem 新しいメニューアイテムの内容を指定します。
pNewItemの意味はiFlagsパラメータに$MF_BITMAP、$MF_OWNERDRAW、$MF_STRINGのフラグが含まれているかどうかによって変わります:
$MF_BITMAP - ビットマップハンドルが格納されています。
$MF_OWNERDRAW - メニューアイテムに関連した追加データの管理に使用されるアプリケーション定義値が格納されています。 この値はメニュー作成時または表示更新時に送信される$WM_MEASUREITEMメッセージまたは$WM_DRAWITEMメッセージのlParamパラメータが指す構造体のItemDataメンバー内にあります。
$MF_STRING - 文字列が格納されています。

 

返し値

成功: True
失敗: False

 

注意

なし。

 

関連

_GUICtrlMenu_InsertMenuItem

 

こちらも参照

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

 


#include <GuiMenu.au3>
#include <GuiConstantsEx.au3>

Opt('MustDeclareVars', 1)

_Main()

Func _Main()
    Local $hGUI, $hFile, $hEdit, $hHelp, $hMain
    Local Enum $idNew = 1000, $idOpen, $idSave, $idExit, $idCut, $idCopy, $idPaste, $idAbout

    ; GUIを作成
    $hGUI = GUICreate("Menu", 400, 300)

    ; ファイルメニューを作成
    $hFile = _GUICtrlMenu_CreateMenu ()
    _GUICtrlMenu_InsertMenuItem ($hFile, 0, "&New", $idNew)
    _GUICtrlMenu_InsertMenuItem ($hFile, 1, "&Open", $idOpen)
    _GUICtrlMenu_InsertMenuItem ($hFile, 2, "&Save", $idSave)
    _GUICtrlMenu_InsertMenuItem ($hFile, 3, "", 0)
    _GUICtrlMenu_InsertMenuItem ($hFile, 4, "E&xit", $idExit)

    ; 編集メニューを作成
    $hEdit = _GUICtrlMenu_CreateMenu ()
    _GUICtrlMenu_InsertMenuItem ($hEdit, 0, "&Cut", $idCut)
    _GUICtrlMenu_InsertMenuItem ($hEdit, 1, "C&opy", $idCopy)
    _GUICtrlMenu_InsertMenuItem ($hEdit, 2, "&Paste", $idPaste)

    ; ヘルプメニューを作成
    $hHelp = _GUICtrlMenu_CreateMenu ()

    ; メインメニューを作成
    $hMain = _GUICtrlMenu_CreateMenu ()
    _GUICtrlMenu_InsertMenuItem ($hMain, 0, "&File", 0, $hFile)
    _GUICtrlMenu_InsertMenuItem ($hMain, 1, "&Edit", 0, $hEdit)
    _GUICtrlMenu_InsertMenuItem ($hMain, 2, "&Help", 0, $hHelp)

    ; ウィンドウにメニューを設定
    _GUICtrlMenu_SetMenu ($hGUI, $hMain)
    GUISetState()

    ; メニューアイテム"アバウト"を追加
    _GUICtrlMenu_AppendMenu ($hHelp, $MF_STRING, $idAbout, "&About")

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main