Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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....

Geschrieben

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?

Geschrieben
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.... :)

Geschrieben
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!!

Geschrieben
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.
Geschrieben
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 :)

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...