Modyfikacje menu

Kilka funkcji umożliwiają zmianę menu po został załadowany lub utworzone. Zmiany te mogą obejmować dodawanie lub usuwanie elementów menu i modyfikowanie istniejących elementów menu.

Aby dodać element menu, należy użyć funkcji InsertMenuItem . Aby zmienić atrybuty istniejący element menu, można użyć funkcji SetMenuItemInfo . Parametr lpmii punkty struktury MENUITEMINFO , która zawiera nowe atrybuty i określa, które atrybuty do zmiany. Atrybuty elementu menu obejmują jej typu, Państwo, identyfikator, podmenu, mapy bitowe, element danych i tekstu.

Starsze funkcje AppendMenu zawsze zwraca i InsertMenu można także dodać elementy menu, ale nowe aplikacje powinny używać InsertMenuItem. Funkcja AppendMenu zawsze zwraca dołącza element menu do końca menu lub podmenu; Funkcja InsertMenu wstawia element menu w określonej pozycji w menu lub podmenu. Obie funkcje pozwalają atrybuty elementu menu ma być określony, w tym czy element menu jest włączony, wyłączony, wygaszonych, zaznaczony lub niezaznaczony.

Aby zmienić wygląd lub atrybuty istniejący element menu, należy użyć funkcji ModifyMenu . Na przykład ciąg tekstowy lub bitmapy element menu może być włączony, wyłączony, wygaszonych, zaznaczony lub niezaznaczony. Funkcja ModifyMenu zastępuje element menu określonego z nowego elementu.

Aby pobrać informacje o pozycji menu, należy użyć funkcji GetMenuItemInfo . Parametr lpmii punkty struktury MENUITEMINFO , która określa atrybuty do pobierania i otrzymuje ich bieżące wartości.

Aby usunąć element menu z menu, należy użyć funkcji DeleteMenu lub RemoveMenu . Jeśli element usuwany jest jeden, który spowoduje otwarcie podmenu, DeleteMenu usuwa skojarzone podmenu, odrzucając uchwyt menu i zwalniania pamięci używanej przez podmenu. Funkcja RemoveMenu usuwa element menu, ale jeśli element spowoduje otwarcie podmenu, funkcję nie zniszczy podmenu lub jego uchwyt, umożliwiając podmenu do ponownego wykorzystania.

Ponowne wystawianie paska menu, po zmodyfikował pasek menu, należy użyć funkcji DrawMenuBar . W przeciwnym razie zmiany będą widoczne dopiero system odrysowania okna właściciela.

Index