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);
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. |
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). |
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.
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:
Menu omówienie, Funkcje Menu, AppendMenu zawsze zwraca, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM