ModifyMenu

Funkcja ModifyMenu zmieni istniejący element menu. Ta funkcja służy do określania zawartości, wygląd i zachowanie elementu menu.

Funkcja ModifyMenu została zastąpiona funkcji SetMenuItemInfo . Można nadal używać ModifyMenu, jednakże, jeśli nie potrzebujesz wszelkich rozszerzonych funkcji SetMenuItemInfo.

(BOOL ModifyMenu HMENU  hMnu, / / obsługi menuUINTuPosition, / / modyfikowania do elementu menuUINTuFlags, / / flags elementu menuUINTuIDNewItem, / / menu Pozycja identyfikator lub dojście do rozwijanej / / menu lub podmenuLPCTSTRlpNewItem / / zawartości elementu menu);
 

Parametry

hMnu
Dojście do menu aby zmienić.
uPosition
Określa element menu ma być zmieniona, określone przez parametr uFlags.
uFlags
Określa flagi sterujące interpretacji parametru uPosition i zawartości, wygląd i zachowanie elementu menu. Ten parametr musi być kombinacją jedna z następujących wartości wymagane i co najmniej jedną z wartości podanych w poniższej sekcji uwagi.
Wartość Znaczenie
MF_BYCOMMAND Wskazuje, że parametr uPosition podaje identyfikator elementu menu. Flaga MF_BYCOMMAND jest wartością domyślną, jeśli określono flagę MF_BYCOMMAND ani MF_BYPOSITION.
MF_BYPOSITION Wskazuje, że parametr uPosition daje od zera względne położenie elementu menu.

uIDNewItem
Określa identyfikator elementu menu zmodyfikowanych lub, jeśli parametr uFlags ma MF_POPUP ustawiona flaga, uchwyt z rozwijanego menu lub podmenu.
lpNewItem
Wskaźnik zawartości elementu menu zmienione. Interpretacja tego parametru zależy od tego, czy parametr uFlags zawiera flagi MF_BITMAP, MF_OWNERDRAW lub MF_STRING.
Wartość Znaczenie
MF_BITMAP Zawiera uchwyt bitmapy.
MF_OWNERDRAW Zawiera wartość 32-bitowe, dostarczonych przez aplikację, która jest wykorzystywana do utrzymywania dodatkowe dane odnoszące się do elementu menu. Wartość jest członek itemData struktury wskazanym przez parametr fikcyjnymi WM_MEASUREITEM lub WM_DRAWITEM wiadomości wysyłane, gdy element menu jest tworzony lub aktualizowany jego wygląd.
MF_STRING Zawiera wskaźnik na ciąg zakończony znakiem null (wartość domyślna).

Zwraca wartości

Jeśli funkcja, wartość zwracany jest różna od zera.

Jeśli funkcja zawiedzie, wartość zwracany jest równa zero. Aby uzyskać informacje o błąd rozszerzony, wywołanie GetLastError.

Uwagi

Jeśli ModifyMenu zastąpi element menu otwiera rozwijanego menu lub podmenu, funkcja niszczy, starą rozwijanego menu lub podmenu i zwolnienia pamięci używanej przez nią.

Aby skróty klawiaturowe do pracy w trybie Bitmapa lub elementy menu rysowania przez właściciela właściciel menu musi przetworzyć wiadomość WM_MENUCHAR. Uzyskać więcej informacji zobacz menu Owner-Drawn i komunikat WM_MENUCHAR.

Aplikacja musi wywołać funkcję DrawMenuBar , gdy zmiany menu, czy menu jest wyświetlane okno. Aby zmienić atrybuty istniejących elementów menu, przebiega szybciej, aby używać funkcji CheckMenuItem i EnableMenuItem.

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

Wartość Znaczenie
MF_BITMAP Używa bitmapy jako element menu. Parametr lpNewItem zawiera dojścia do bitmapy.
MF_BYCOMMAND Wskazuje, że parametr uPosition określa identyfikator elementu menu (wartość domyślna).
MF_BYPOSITION Wskazuje, że parametr uPosition określa od zera względne położenie nowego elementu menu.
MF_CHECKED Umieści znacznik wyboru obok elementu. Jeśli aplikacja zawiera znacznik wyboru bitmapy (patrz funkcja SetMenuItemBitmaps ), ta flaga wyświetla zaznaczone mapę bitową obok elementu menu.
MF_DISABLED Wyłącza element menu tak, aby nie może być wybrany, ale ta flaga nie szary go.
MF_ENABLED Umożliwia elementu menu, tak aby można zaznaczać i przywraca go ze stanu wygaszone.
MF_GRAYED Wyłącza elementu menu i grays, tak aby nie można było wybierać.
MF_MENUBARBREAK Funkcje, takie same jak MF_MENUBREAK flagę dla paska menu. W menu rozwijanym, podmenu lub menu skrótów nowa kolumna jest oddzielony od starego kolumny przez linię pionową.
MF_MENUBREAK Umieszcza element w nowym wierszu (dla pasków menu) lub w nowej kolumnie (w menu rozwijanym, podmenu lub menu skrótów) bez oddzielających kolumny.
MF_OWNERDRAW Określa, że element jest element rysowane przez właściciela. Zanim menu zostanie wyświetlony po raz pierwszy, okna, który jest właścicielem menu odbiera wiadomość WM_MEASUREITEM do pobrania szerokość i wysokość elementu menu. Wiadomość WM_DRAWITEM są następnie wysyłane do procedury okna w oknie właściciela, ilekroć wygląd elementu menu musi być uaktualniany.
MF_POPUP Określa, że element menu otwiera rozwijanego menu lub podmenu. Parametr uIDNewItem określa uchwyt z rozwijanego menu lub podmenu. Ta flaga jest stosowana, aby dodać nazwy menu na pasku menu lub element menu, który spowoduje otwarcie podmenu w menu rozwijanym, podmenu lub menu skrótów.
MF_SEPARATOR Rysuje linię podziału poziomego. Ta flaga jest stosowana tylko w rozwijanym menu, podmenu lub menu skrótów. Wiersz nie wyszarzone, wyłączony lub wyróżniane. Parametry lpNewItem i uIDNewItem są ignorowane.
MF_STRING Określa, że element menu jest ciągiem tekstowym; Parametr lpNewItem wskazuje ciąg.
MF_UNCHECKED Nie należy umieścić znacznik wyboru obok elementu (wartość domyślna). Jeżeli aplikacji dostaw zaznaczenie bitmapy (patrz funkcja SetMenuItemBitmaps ), ta flaga wyświetla zaznaczone mapę bitową obok elementu menu.

Następujące grupy flag nie mogą być używane razem:

Zobacz też

Menu omówienie, Funkcje Menu, AppendMenu zawsze zwraca, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

Index