CMenu Ownerdraw und DrawText
-
Hi Leute.
Ich hab ne Frage. Ich bin dabei, mir die Funktion DrawItem für ein OWNERDRAW-Menü zu basteln. Ich kann alles malen. Ich hab die ID des jeweiligen Items. Woher bekomm ich jetzt den String des Items?
PS: GetMenuString funktioniert nicht, hab ich schon probiert.
Bis dann, AndiSmirre
-
Entweder speicherst du den String ab, bevor du das Menuitem auf Ownerdraw setzt, oder du lädst das gleiche Menü nochmals aus der Registry. Da stehen die Strings noch drin.
-
Hi.
Das Problem ist: Ich erstelle das Menü erst während der Laufzeit. Das ganze Objekt. Also steht nichts in der Registry. Ich habs gestern mal mit einem Listenobjekt probiert. Aber mit der ID, die ich über drawitemstruct->itemID erreiche, kann ich die Liste nicht ansprechen. Die ID ist vom Typ UINT. Und die wird irgendwoher mit dem Index etwa 40020 geladen. Die Liste fängt aber bei 0 an.
Bitte, kann mir da nicht irgendwer helfen?
-
Lies Dir mal im MSDN die Erklärungen zur DRAWITEMSTRUC durch. So wie ich das verstanden habe, kann itemData als LPCTSTR interpretiert werden. Einfach mal mit dem MemoryViewer draufschauen ob da ein Text steht.
-
Hi nochmal.
Also, ich hab das mit dem Casten von drawitemstruct->itemData zu LPCTSTR ma ausprobiert, es wird mir aber als String aus itemData immer der letzte Eintrag geliefert.. das find ich echt komisch...
Die MSDN hab ich schon dutzendmal zu diesem Thema konsultiert, die sagt mir da aber nicht viel. Is ja auch von Microsoft und die geben nicht immer sehr gern Quelltext oder nützliche Hilfe frei.
Kann mir da noch irgendwer vielleicht weiterhelfen?