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