次の方法で共有


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_MEASUREITEMWM_DRAWITEM のメッセージを処理するときにアプリケーションで使用できます。の値は、それらのメッセージで提供される構造体の itemData のメンバーに格納されます。

    MF_STRING

    null で終わる文字列へのポインターが格納されます。これは、既定の解釈があります。

    MF_SEPARATOR

    lpszNewItem のパラメーターは無視されます (必要になった)。

  • pBmp
    メニュー項目として使用される CBitmap オブジェクトをポイントします。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

アプリケーションは nFlagsで値を設定するとメニュー項目の状態を指定できます。nIDNewItem がポップアップ メニューを指定するときに、追加されるメニューの一部になります。そのメニューが破棄されると、追加したメニューも破棄されます。追加したメニューは CMenu のオブジェクトから競合を回避するために、デタッチする必要があります。MF_STRINGMF_OWNERDRAWAppendMenuのビットマップ バージョンに対して無効であることに注意してください。

次の一覧は nFlagsで設定されるフラグを記述します:

  • MF_CHECKEDMF_UNCHECKED のトグルとして項目の横にチェック マークの既定値を設定する機能します。アプリケーションが一部のビットマップ ( SetMenuItemBitmaps のメンバー関数を参照) 渡す場合、ビットマップ「」のチェック マークが表示されます。

  • MF_UNCHECKEDMF_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_DISABLEDMF_ENABLEDMF_GRAYED

  • MF_STRINGMF_OWNERDRAW、バージョンやビットマップ MF_SEPARATOR

  • MF_MENUBARBREAKMF_MENUBREAK

  • MF_CHECKEDMF_UNCHECKED

ウィンドウに存在するメニューが (ウィンドウが表示されているかどうか) 変更されるたびに、アプリケーションは CWnd::DrawMenuBarを呼び出す必要があります。

使用例

CMenu::CreateMenuの例を参照してください。

必要条件

ヘッダー: afxwin.h

参照

関連項目

CMenu クラス

階層図

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu