CMenu::AppendMenu
メニューの最後に新しい項目を追加します。
BOOL AppendMenu(
UINT nFlags,
UINT_PTR nIDNewItem = 0,
LPCTSTR lpszNewItem = NULL
);
BOOL AppendMenu(
UINT nFlags,
UINT_PTR nIDNewItem,
const CBitmap* pBmp
);
パラメーター
nFlags
は、メニューに追加されたときに新しいメニュー項目の状態に関する情報を指定します。これは、"解説"セクションに示されている値の一つ以上で構成されます。nIDNewItem
nFlags がに設定されている場合 MF_POPUP新しいメニュー項目のコマンド ID、または、ポップアップ メニューのメニュー ハンドル (HMENU) を指定します。nIDNewItem のパラメーターは nFlags がに設定されている場合 MF_SEPARATOR無視する (必要がない)。lpszNewItem
新しいメニュー項目の内容を指定します。nFlags のパラメーターが lpszNewItem を次のように解釈するために使用されています:nFlags
lpszNewItem の解釈
MF_OWNERDRAW
メニュー項目に関連付けられた追加のデータを保持するために使用できるアプリケーションがアプリケーションに用意された 32 ビット値を含みます。この 32 ビット値は WM_MEASUREITEM と WM_DRAWITEM のメッセージを処理するときにアプリケーションで使用できます。の値は、それらのメッセージで提供される構造体の itemData のメンバーに格納されます。
MF_STRING
null で終わる文字列へのポインターが格納されます。これは、既定の解釈があります。
MF_SEPARATOR
lpszNewItem のパラメーターは無視されます (必要になった)。
pBmp
メニュー項目として使用される CBitmap オブジェクトをポイントします。
戻り値
正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。
解説
アプリケーションは nFlagsで値を設定するとメニュー項目の状態を指定できます。nIDNewItem がポップアップ メニューを指定するときに、追加されるメニューの一部になります。そのメニューが破棄されると、追加したメニューも破棄されます。追加したメニューは CMenu のオブジェクトから競合を回避するために、デタッチする必要があります。MF_STRING と MF_OWNERDRAW が AppendMenuのビットマップ バージョンに対して無効であることに注意してください。
次の一覧は nFlagsで設定されるフラグを記述します:
MF_CHECKED は MF_UNCHECKED のトグルとして項目の横にチェック マークの既定値を設定する機能します。アプリケーションが一部のビットマップ ( SetMenuItemBitmaps のメンバー関数を参照) 渡す場合、ビットマップ「」のチェック マークが表示されます。
MF_UNCHECKED は MF_CHECKED のトグルとして項目の横にチェック マークを削除するに機能します。アプリケーションが一部のビットマップ ( SetMenuItemBitmaps のメンバー関数を参照) 渡す場合、ビットマップ「」にチェック マークが表示されます。
MF_DISABLED は、選択できない無効にしますが、淡色表示しないようにメニュー項目が。
MF_ENABLED は復元淡色表示の状態から選択できるようにメニュー項目を有効にします。
MF_GRAYED は、選択できない無効にし、淡色表示するようにメニュー項目が。
MF_MENUBARBREAK は静的メニューまたはポップアップ メニューに新しい列に改行に項目を配置します。新しいポップアップ メニューの列は、縦の区切り線で古い列から分かれます。
MF_MENUBREAK は静的メニューまたはポップアップ メニューに新しい列に改行に項目を配置します。区切り線は、列の間に設定します。
MF_OWNERDRAW は、項目がオーナー描画の項目であることを指定します。メニューが初めて表示すると、メニューを所有するウィンドウはメニュー項目の高さと幅を取得する WM_MEASUREITEM のメッセージを受け取ります。WM_DRAWITEM のメッセージが所有者はメニュー項目の外観を更新する必要があるたびに送信されます。このオプションは、トップレベルのメニュー項目では無効です。
MF_POPUP はメニュー項目に、関連付けられたポップアップ メニューがあることを指定します。ID のパラメーターは、項目に関連付けられたポップアップ メニューを識別するハンドルを指定します。これは、ポップアップ メニュー項目へトップレベルのポップアップ メニューまたは階層ポップアップ メニューを追加するために使用されます。
MF_SEPARATOR は、水平方向の区切り線を描画します。ポップアップ メニューにのみ使用できます。この行は淡色表示にするか、無効にするか、または強調表示できません。他のパラメーターは無視されます。
MF_STRING はメニュー項目が文字列であることを指定します。
同時に、同時に指定できない次のグループの一覧のフラグの各:
MF_DISABLED、MF_ENABLEDと MF_GRAYED
MF_STRING、MF_OWNERDRAW、バージョンやビットマップ MF_SEPARATOR
MF_MENUBARBREAK と MF_MENUBREAK
MF_CHECKED と MF_UNCHECKED
ウィンドウに存在するメニューが (ウィンドウが表示されているかどうか) 変更されるたびに、アプリケーションは CWnd::DrawMenuBarを呼び出す必要があります。
使用例
CMenu::CreateMenuの例を参照してください。
必要条件
ヘッダー: afxwin.h