Filou Geschrieben 29. März 2006 Geschrieben 29. März 2006 Hallo! Ich weiß dass es hier schonmal eine Frage dazu gab. Habs auch gelesen, nur nicht kapiert. Vielleicht gehts auch einfache in meinem Fall. Also ich habe einen Dialog und in diesem unter eigenschaften ein Menü zugewiesen. Ist es möglich da alternativ zwischen 2 Menüs zu wechseln? Oder wenn dass nicht geht, kann ich in meinem einen Menü den Text ändern? Aber wie? Das Menü ist ja keine Klasse in der ich auf irgendwelche methoden zugreifen könnte. Wäre schön wenn mir jemand helfen könnte....
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 ok... Dann brauche ich ein Objekt vom Typ CMenu. Wie weise ich dann der Klasse CMenue mein IDR_MENU1 zu? EDIT: Ok, habs gefunden... kann ich auch irgendwie den Text einen eintags im Menü ändern?
Guybrush Threepwood Geschrieben 29. März 2006 Geschrieben 29. März 2006 SetMenuItemInfo() hat genau wie das andere nichtmal eine Minute gedauert um das in der MSDN zu finden
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 'SetMenuItemInfo' : Ist kein Element von 'CMenu'
Klotzkopp Geschrieben 29. März 2006 Geschrieben 29. März 2006 'SetMenuItemInfo' : Ist kein Element von 'CMenu' http://msdn.microsoft.com/library/en-us/vclib/html/vclrfcmenusetmenuiteminfo.asp Irgend jemand lügt... Oder bist du unter CE zu Gange? Dann solltest du das schon vorher sagen.
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 http://msdn.microsoft.com/library/en-us/vclib/html/vclrfcmenusetmenuiteminfo.asp Irgend jemand lügt... Oder bist du unter CE zu Gange? Dann solltest du das schon vorher sagen. Ja ich habs auch gelesen. Mein Compiler lügt! Es ist kein CE. Ist eine MFC Dialoganwendung. ich habe nur: CMenu menu; menu.SetMenuContextHelpId(); menu.SetMenuItemBitmaps(); wenn man ein screenshot hochlanden könnte, könnte ichs beweisen....
Klotzkopp Geschrieben 29. März 2006 Geschrieben 29. März 2006 Du kannst auch die globale WinAPI-Funktion SetMenuItemInfo benutzen. Die CMenu-Methode ist nur ein Wrapper um diesen Aufruf.
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 Ok, kann was anfügen. Hier könnt Ihrs sehen....
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 Du kannst auch die globale WinAPI-Funktion SetMenuItemInfo benutzen. Die CMenu-Methode ist nur ein Wrapper um diesen Aufruf. Hä? Verstehe leider nicht. Was ist ein Wrapper? Und wie benutze ich eine globale WinAPI-Funktion? PS: Mahlzeit!!
Klotzkopp Geschrieben 29. März 2006 Geschrieben 29. März 2006 Hä? Verstehe leider nicht. Was ist ein Wrapper?In diesem Fall: Umschlag, Verpackung. Eine objektorientierte Hülle um die prozedurale WinAPI. CMenu::SetMenuItemInfo macht aber nicht viel mehr, als ::SetMenuItemInfo aufzurufen. Das ist ein ziemlich dünner Wrapper. Und wie benutze ich eine globale WinAPI-Funktion?Wie jede andere Funktion auch. Allerdings musst du, wenn Namenskonflikte mit Memberfunktionen bestehen, den Scope-Operator davor setzen. Hier ist das aber nicht der Fall.
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 In diesem Fall: Umschlag, Verpackung. Eine objektorientierte Hülle um die prozedurale WinAPI. CMenu::SetMenuItemInfo macht aber nicht viel mehr, als ::SetMenuItemInfo aufzurufen. Das ist ein ziemlich dünner Wrapper. Wie jede andere Funktion auch. Allerdings musst du, wenn Namenskonflikte mit Memberfunktionen bestehen, den Scope-Operator davor setzen. Hier ist das aber nicht der Fall. Na ich mache jetzt erstmal 2 gleiche Menüs mit unterschiedlichen Texten und jenachdem welchsle ich die einfach. Das andere hört sich nämlich so an, als würde der ganze Mittag dabei drauf gehen
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden