Ermitteln des Befehlsstatus für den Schnellzugriff

9

Wir haben eine Anwendung, die Windows Ribbon Framework verwendet für eine Benutzeroberfläche. Die App selbst ist in Delphi geschrieben und verwendet Windows Ribbon Framework für Delphi , um mit der Ribbon-API zu interagieren.

>

Unser Ribbon XML platziert einige Befehle in Quick Access Symbolleiste. Die Verwendung kann dann Befehle entfernen / hinzufügen, entweder mithilfe des integrierten Bändchenmechanismus (Auswahl der Dropdown-Taste und Klick auf einen Befehlsnamen) oder durch Auswahl von More commands command, wodurch der Konfigurationsdialog geöffnet wird.

Das Problem, auf das ich gestoßen bin, ist, dass ich keine Möglichkeit finde, den aktuellen Status von Befehlen in der QA-Sammlung abzurufen (ob sie sichtbar sind oder nicht).

Im obigen Beispiel (Bild) würde ich gerne feststellen, dass die ersten fünf Befehle überprüft werden und dass der letzte nicht ist, damit ich den Konfigurationsdialog entsprechend vorbereiten kann.

Ich habe keine Probleme, die IUICollection aufzuzählen und auf die darin gespeicherten Elemente zuzugreifen. Ich kann auch die UI_PKEY_CommandId für jeden Gegenstand bekommen. Ich kann jedoch keine Möglichkeit finden, den aktivierten / deaktivierten Status zu lesen. Ich habe versucht, UI_PKEY_BooleanValue und UI_PKEY_Enabled für alle Elemente in der Sammlung zu lesen, aber sie geben diesen Status nicht zurück.

Ich habe auch versucht, IUICommandHandler.UpdateProperty zu überwachen, aber es wird nicht aufgerufen, wenn ein solches Element aktiviert / deaktiviert ist (außer dass es mit der UI_PKEY_Label Taste aufgerufen wird).

Unterstützt die Ribbon-API diese Funktionalität?

    
gabr 05.11.2015, 14:32
quelle

0 Antworten