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.... Zitieren
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? Zitieren
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 Zitieren
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 'SetMenuItemInfo' : Ist kein Element von 'CMenu' Zitieren
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. Zitieren
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.... Zitieren
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. Zitieren
Filou Geschrieben 29. März 2006 Autor Geschrieben 29. März 2006 Ok, kann was anfügen. Hier könnt Ihrs sehen.... Zitieren
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!! Zitieren
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. Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.