Menüeintrag umbennen
-
Hi Community,
habe ein kleines Problem mit Menüs, dass mich ziemlich nervt. Hoffe, ihr könnt weiterhelfen. Ich will einen Menüeintrag umbenennen. Ich versuche das mit
ModifyMenu( hMenu, 1, MF_BYPOSITION | MF_STRING, NULL, TEXT("Stop") );Hier sollte theoretisch das 1. Element umbenannt werden in "Stop". Allerdings komme ich mit den Parametern nicht so klar. Dank im Voraus, Gruß, '][' !
-
änder mal deinen ersten Parameter in eine 0 - dann müsste es gehen

Die werden nämlich nach dem "zero-based index" gezählt (siehe MSDN)
-
Hi,
ich ging auch davon aus, dass das 0. Element das erste der Rangordnung ist. Daran liegt es also nicht. Vielleicht liegt es daran, dass ich ein Pop-Up-Menü verwende?! Viele Grüße, '][' !
-
Wie holst du dir denn das Menü-Handle? Das wäre noch das einzige, was mir dazu einfällt, was falsch sen könnte.
Und was sagt GetLastError?
-
Das ist das Codestück, dass die Arbeit machen soll.
HMENU hMenu; hMenu = LoadMenu(g_hInstance, MAKEINTRESOURCE( MAKEWORD(IDR_MENU3, 0) ) ); hMenu = GetSubMenu(hMenu, 0); timer.LaunchProgram( SendMessage(hwnd, LB_GETCURSEL, 0, 0) ); ModifyMenu( hMenu, 0, MF_BYPOSITION | MF_STRING, (UINT_PTR) &hMenu, TEXT("Stop") );Viele Grüße, '][' !
-
HMENU hMenu; hMenu = LoadMenu(g_hInstance, MAKEINTRESOURCE( MAKEWORD(IDR_MENU3, 0) ) ); hMenu = GetSubMenu(hMenu, 0); timer.LaunchProgram( SendMessage(hwnd, LB_GETCURSEL, 0, 0) ); ModifyMenu( hMenu, 0, MF_BYPOSITION | MF_STRING, 0, TEXT("Stop") );