[Ribbons] CMFCRibbonGallery funktioniert nur halb



  • Guten Abend,
    ich schreibe eine kleine Anwendung mit einer Ribbonbar in C++ mit MFC.
    Ich brauche gerade einen CMFCRibbonGallery-Button. Wenn ich über den Ribbon-Designer so einen Button anlege, sieht er im Designer perfekt aus. Wenn ich im Designer die Vorschau aufmache sieht es ebenfalls super aus.
    Prinzipiell klappt das ganze auch in meinem Programm, jedoch nur solange, bis ich dem Button eine andere ID als IDC_STATIC zuweise.

    Im Programm gibt es in der Message-Map vom Main-Frame folgende Deklerationen:

    ON_COMMAND(ID_GALLERYBUTTON1, OnGalleryButton1)
    ON_UPDATE_COMMAND_UI(ID_GALLERYBUTTON1, OnUpdateGallaryButton1)
    

    Das Problem ist jedoch, dass beide Funktionen niemals aufgerufen werden (alle anderen Dinge aus der Messagemap funktionieren jedoch super).
    Gleichzeitig zeigt der Button im Programm, keine Icons und ist ausgegraut.
    Etwa so: http://frupic.frubar.net/shots/17431.png

    Was mache ich falsch?

    Vielen Dank im Voraus! 🙂

    Gruß
    Bastian


  • Mod

    IDC_STATIC macht als ID gar keinen Sinn. Dürfte auch nicht funktionieren.

    Sicher, dass im Designer die selbe ID benutzt wurde?
    Funktionieren andere IDs?



  • Ja, IDC_STATIC macht auch keinen produktiven Sinn für mich - es klappt jedoch trotzdem (also der Button wird im Programm dann korrekt dargestellt und aktiviert).

    Im Designer und in der Map sind es die selben IDs 😕

    Gruß
    Bastian


  • Mod

    Und andere Buttons funktionieren?
    Oder nur nicht die bei denen Du einen Handler im MainFrame hast?
    Hast Du mit OnCmdMsg rumgespielt?

    Nochmal als Tipp: Nimm den MFC Tracer und Du kannst Das Command UI Routing für diese ID prüfen.



  • Es klappt! 🙂

    Scheinbar hat der Designer in der Resource.h eine ID doppelt vergeben, sodass die Calls alle ins falsche Objekt geleitet wurden.

    Danke für die Hilfe! 🙂


Anmelden zum Antworten