Ribbon OHNE Xml



  • Hallo,

    ich bin gerade umgestiegen. Ich lasse nun wxWidgets weg und schreibe direkt in der MFC unter Visual Studio 2012.
    Da ich von wxWidgets in vielen Sachen sehr "verzogen" bin, hab ich bei vielen Dingen (gerade Ressourcen) meine Probleme.

    Was ich schon geschafft habe ist mit der MFC mein Fenster zu zeichen und ein lauffähiges Programm zu schreiben. Nun möchte ich eine Ribbon-Bar aller Office2007-Silver einbauen. Auch die Grundbefehle hab ich schon geschafft (CMFCVisualManager) und das Programm läuft.

    Nun hab ich mich in die Thametik eingelesen (MSDN lässt grüßen) um ein Ribbon einzubauen. Und jetzt bin ich etas überfordert.

    Frage 1: Ist es so, dass man immer ein XML erzeugen muss um eine Ribbon-Bar zu erhalten?
    Frage 2: Kann man Ribbons nicht auch OHNE XML erzeugen?
    Frage 3: Falls man immer XML benötigt, kann man das dann auch dynamisch in einem String erzeugen (sprich: zur Laufzeit)?

    Natürlich werden jetzt wieder viele Fragen: Wieso will der das machen?
    Ganz einfach. Das Ende von Lied (also das fertige Programm) wird eine Client-Anwendung. Nach der Anmeldung mit Benutzername und Passwort erhält der Client via SOAP den Leistungsumfang seines Benutzerkontos. Und da können nun mehr oder weniger Befehle drinnen stehen. Also steht die Menüführung erst nach der Anmeldung am Server fest. Und wenn sich der Benutzer abmeldet und ein anderer Benutzer sich anmeldet, dann muss ich auch das ganze Menü zerstören und neu anlegen, weil dieser Benutzer ggf. völlig andere Befehle erhält.

    Unter wxWidgets ging das relativ einfach mit ein paar Befehlen. Da ich aber wxWidgets in der Zwischenzeit mehr als "Overhead" empfinde und gerne die Anwendungen etwas kompakter schreiben möchte (Speicherplatz, Geschwindigkeit, Systemnähe, etc.) suche ich jetzt die passenden Befehle in der MFC selbst. Und soweit ich weiß simuliert wxWidgets die Ribbons auch nur und nutzt intern nicht die MFC um auch unter Mac, Linux und Freunde zu funktionieren.

    Ich suche wie immer nicht fertige Codes, sondern nur den Weg in die richtige Richtung.

    Achja: Meine Programme müssen erst ab Windows 7 laufen (kein Vista, kein XP, etc...)

    Vielen Dank,
    Stefan


  • Mod

    Man kann Ribbons auch plain im Code erzeugen.
    Es gibt aber einen Ribbon Designer für die MFC. Also musst Du Dir eigentlich darum keine Gedanken machen.



  • Martin Richter schrieb:

    Man kann Ribbons auch plain im Code erzeugen.
    Es gibt aber einen Ribbon Designer für die MFC. Also musst Du Dir eigentlich darum keine Gedanken machen.

    Den hab ich schon entdeckt. Der macht wunderschöne XML-Dateien.

    Mein Problem ist aber:

    stefanjann schrieb:

    Natürlich werden jetzt wieder viele Fragen: Wieso will der das machen?
    Ganz einfach. Das Ende von Lied (also das fertige Programm) wird eine Client-Anwendung. Nach der Anmeldung mit Benutzername und Passwort erhält der Client via SOAP den Leistungsumfang seines Benutzerkontos. Und da können nun mehr oder weniger Befehle drinnen stehen. Also steht die Menüführung erst nach der Anmeldung am Server fest. Und wenn sich der Benutzer abmeldet und ein anderer Benutzer sich anmeldet, dann muss ich auch das ganze Menü zerstören und neu anlegen, weil dieser Benutzer ggf. völlig andere Befehle erhält.

    Daher kann ich den Designer nicht verwenden, da ich (außer dem Button "Login") zur Programmierzeit keinen Menüpunkt kenne.


  • Mod

    Doch. Du kannst den Designer verwenden und die Menüelemente wieder löschen.
    Oder das Attribut entsprechend ändern.

    Es gibt doch nette Funktionen wie ShowCategory etc... Fast alle Elemente können auch "versteckt" werden.


Anmelden zum Antworten