CMenu::AppendMenu

Dołącza nowy element na końcu menu.

BOOL AppendMenu( 
   UINT nFlags, 
   UINT_PTR nIDNewItem = 0, 
   LPCTSTR lpszNewItem = NULL  
); 
BOOL AppendMenu( 
   UINT nFlags, 
   UINT_PTR nIDNewItem, 
   const CBitmap* pBmp  
);

Parametry

  • nFlags
    Określa informacje o stanie nowego elementu menu jest dodawane do menu.Składa się z jednej lub więcej wartości wymienione w sekcji Uwagi.

  • nIDNewItem
    Określa identyfikator polecenia nowy element menu lub, jeśli nFlags jest ustawiona na MF_POPUP, uchwyt menu (HMENU) z wyskakującego menu.nIDNewItem Parametr jest ignorowany (nie jest to potrzebne), jeśli nFlags jest ustawiona na MF_SEPARATOR.

  • lpszNewItem
    Określa zawartość nowego elementu menu.nFlags Parametr jest używany do interpretowania lpszNewItem w następujący sposób:

    nFlags

    Interpretacja lpszNewItem

    MF_OWNERDRAW

    Zawiera wartość 32-bitowe dostarczone aplikacji używające aplikacji do obsługi dodatkowych danych skojarzone z elementem menu.Ta wartość 32-bitowe jest dostępne do aplikacji podczas przetwarzania WM_MEASUREITEM i WM_DRAWITEM wiadomości.Wartość jest przechowywana w itemData Członkowskich struktury dostarczonych z tych wiadomości.

    MF_STRING

    Zawiera wskaźnik ciąg zakończony znakiem null.Jest to domyślny interpretacji.

    MF_SEPARATOR

    lpszNewItem Parametr jest ignorowany (nie jest konieczne).

  • pBmp
    Wskazuje na CBitmap obiekt, który będzie używany jako element menu.

Wartość zwracana

Niezerowa, jeśli funkcja jest pomyślne; 0 inaczej.

Uwagi

Wniosek można określić stan elementu menu przez ustawienie wartości nFlags.Gdy nIDNewItem określa wyskakującego menu, staje się częścią menu, do której jest dołączony.Jeśli zniszczenia tego menu, menu dołączonych również zostać zniszczone.Dołączone menu powinny być odłączone od CMenu obiekt, aby uniknąć konfliktu.Należy zauważyć, że MF_STRING i MF_OWNERDRAW nie są prawidłowe dla wersji bitmapy AppendMenu.

Poniższa lista zawiera flagi, które mogą być ustawione w nFlags:

  • MF_CHECKED działa jako przełącznik z MF_UNCHECKED do domyślnego znacznika wyboru obok elementu.Gdy aplikacja dostaw bitmapy znacznik wyboru (zobacz SetMenuItemBitmaps Członkowskich funkcji), mapy bitowej "znacznik na" jest wyświetlany.

  • MF_UNCHECKED działa jako przełącznik z MF_CHECKED , aby usunąć znacznik wyboru obok elementu.Gdy aplikacja dostaw bitmapy znacznik wyboru (zobacz SetMenuItemBitmaps Członkowskich funkcji), mapy bitowej "znacznik wyboru off" jest wyświetlany.

  • MF_DISABLED wyłącza element menu, tak że nie może być wybrany, ale nie dim.

  • MF_ENABLEDUmożliwia element menu, który można wybrać i przywraca go od jego stanu jako wygaszone.

  • MF_GRAYED wyłącza element menu, który nie może być wybrany i przyciemnia go.

  • MF_MENUBARBREAK umieszcza element w nowym wierszu statyczne menu lub nowej kolumny w wyskakujących menu.Nową kolumnę z wyskakującego menu będą rozdzielane z kolumny stare pionowa linia podziału.

  • MF_MENUBREAK umieszcza element w nowym wierszu statyczne menu lub nowej kolumny w wyskakujących menu.Nie wyraźnej linii jest umieszczony między kolumnami.

  • MF_OWNERDRAWOkreśla, że element jest element rysowania przez właściciela.Po wyświetleniu menu po raz pierwszy odbiera okna, który jest właścicielem menu WM_MEASUREITEM komunikat, który pobiera wysokość i szerokość elementu menu.WM_DRAWITEM Wiadomości jest wysyłane, gdy właściciel musi zaktualizować wygląd elementu menu.Ta opcja nie jest prawidłowy dla elementu menu najwyższego poziomu.

  • MF_POPUP określa element menu wyskakującego menu skojarzone.Parametr identyfikator Określa dojście do wyskakującego menu, który ma być skojarzony z elementem.Służy do dodawania do elementu menu wyskakującego wyskakującego menu najwyższego poziomu lub hierarchiczne menu wyskakującego.

  • MF_SEPARATOR rysuje linię podziału.Można używane tylko w wyskakującym menu.Ten wiersz nie wygaszone, wyłączony lub wyróżnione.Inne parametry są ignorowane.

  • MF_STRING Określa, że element menu jest ciągiem znaków.

Każdy z następujących grup list flagi, które wzajemnie się wykluczają i nie mogą być używane razem:

  • MF_DISABLED, MF_ENABLED, i MF_GRAYED

  • MF_STRING, MF_OWNERDRAW, MF_SEPARATORi wersji bitmapy

  • MF_MENUBARBREAK i MF_MENUBREAK

  • MF_CHECKED i MF_UNCHECKED

W przypadku, gdy menu rezyduje w oknie zostanie zmieniona (lub nie jest wyświetlane okno), aplikacja powinna wywołać CWnd::DrawMenuBar.

Przykład

Zobacz przykład dla CMenu::CreateMenu.

Wymagania

Nagłówek: afxwin.h

Zobacz też

Informacje

Klasa CMenu

Diagram hierarchii

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu