Hinzufügen von Befehlen zu dem Ribbon
Nach oben zu So erstellen Sie eine Anwendung mit Ribbon-Steuerelementen
Dieses Thema beschreibt die Schritte, die nach dem Erstellen einer Ribbon-Anwendung mit dem Ribbon-Anwendungsexperten oder dem manuellen Erstellen ausgeführt werden müssen (siehe Erstellen einer Anwendung mit Ribbon-Steuerelementen).
In diesem Thema wird davon ausgegangen, dass Sie mit der Komponente TActionManager und den dazugehörigen Komponenten vertraut sind. Es wurde ein Vielzahl neuer Eigenschaften zur Unterstützung der Ribbon-Steuerelemente hinzugefügt. Viele vorhandene Eigenschaften sind wirkungslos, wenn sie für einen Befehl modifiziert werden, der auf einem Ribbon angezeigt wird.
Zum Beispiel:
- Auf kleinen Schaltflächen wird das Symbol links von der Beschriftung angezeigt.
- Auf großen Schaltflächen wird das Symbol immer über der Beschriftung angezeigt.
- Eine große Schaltfläche muss eine Beschriftung haben. Die Beschriftung kann maximal zwei Zeilen in Anspruch nehmen, und die Breite der Schaltfläche wird entsprechend angepasst. Die Höhe einer großen Schaltfläche ist fest, damit der gesamte Bereich der Gruppe, in der der Befehl angezeigt wird, abgedeckt ist.
- Nur kleine Schaltflächen ohne Beschriftung können in einer Gruppe angezeigt werden.
Neue Eigenschaften
CommandStyle: Diese Eigenschaft legt den Typ des Steuerelements fest, mit dem der Befehl auf dem Ribbon dargestellt wird. Der Vorgabewert ist csButton. Mit CommandStyle wird – mit einer Ausnahme – der Steuerelementtyp für den Befehl festgelegt.
type TCommandStyle = (csButton, csMenu, csSeparator, csText, csGallery, csComboBox, csControl, csCustom);
Stil des Befehls in der Ribbon-Gruppe:
|
Der Befehl ist eine Schaltfläche. |
|
Der Befehl zeigt ein Kombinationsfeld im Office 2007-Stil an. Beachten Sie bitte den folgenden Hinweis. |
|
Dem Befehl ist ein Nachkomme von TControl zugeordnet. Ein Beispiel ist, das Hinzufügen einer TEdit-Komponente zu einer Ribbon-Gruppe. |
|
Benutzerdefiniert. |
|
Der Befehl ist eine Galerie oder zeigt, wenn er ausgewählt wird, eine Galerie an. |
|
Der Befehl ist ein Menüelement. |
|
Der Befehl ist ein Trennzeichen mit einer Textbeschreibung. |
|
Der Befehl zeigt nur Text an und hat kein zugeordnetes Steuerelement. |
Hinweis: Sie können
csComboBox
nur verwenden, wenn Sie zuvor ein TRibbonComboBox-Steuerelement von der Tool-Palette auf die Ribbon-Gruppe gezogen haben.
CommandProperties: CommandProperties ist eine dynamische Eigenschaftsklasse. Die published Eigenschaften dieser Eigenschaft (ist von TPersistent abgeleitet) hängen davon ab, welcher CommandStyle ausgewählt wurde. Wenn Sie für CommandStyle csButton
ausgewählt haben, ist die verwendete CommandProperties-Klasse TButtonProperties. Diese Eigenschaftsklasse veröffentlicht spezifische Eigenschaften für csButton
.
Ein Beispiel ist ButtonSize. Mit ButtonSize legen Sie fest, ob eine kleine oder eine große Schaltfläche verwendet werden soll. Bei einem csMenu
-Befehl besteht keine Notwendigkeit für die Eigenschaft ButtonSize, weil das Menü nicht auf eine Größenänderung reagiert.
Alle CommandProperties-Klassen sind von TCommandProperties abgeleitet. Wenn Sie für CommandStyle csCustom
auswählen, müssen Sie eine Ableitung von der Klasse TCommandProperties vornehmen.
Welche Eigenschaften in der Eigenschaft CommandProperties zur Verfügung stehen, sind von dem ausgewählten CommandStyle abhängig:
|
TButtonSize = (bsSmall, bsLarge);
TButtonType = (btNone, btDropDown, btSplit, btGallery);
// btNone - normale Schaltfläche
// btDropDown - Schaltfläche, die ein Dropdown-Menü anzeigt
// btSplit - Schaltfläche, die ein Dropdown-Menü und eine Standardaktion hat
// btGallery - Schaltfläche, die eine Galerie als Dropdown-Menü anzeigt </code>
TGroupPosition = (gpNone, gpStart, gpMiddle, gpEnd, gpSingle);
// Legt fest, ob ein Rahmen um die Schaltfläche gezeichnet wird
// gpNone - kein Rahmen
// gpStart - die rechte Kante des Rahmens wird nicht gezeichnet
// gpMiddle - die obere und untere Kante des Rahmens werden gezeichnet
// gpEnd - die linke Kante des Rahmens wird nicht gezeichnet
// gpSingle - ein vollständiger Rahmen wird gezeichnet
|
|
Der Befehl wird wie ein Office 2007-Kontrollkästchen angezeigt. |
|
TGalleryResize = (grNone, grVertical, grBoth);
// grNone - Größenänderung ist nicht möglich
// grVertical - nur vertikale Größenänderung möglich
// grBoth - vertikale und horizontale Größenänderung möglich
|
csControl |
|
csCustom |
Benutzerdefiniert. |
csGallery |
Die Klasse csGallery CommandProperties ist von der Klasse csButton CommandProperties abgeleitet. Das bedeutet, dass alle csButton-Eigenschaften auch für die csGallery-Befehle verfügbar sind. Darüber hinaus stehen noch die folgenden zur Verfügung. TGalleryType = (gtDropDown, gtGrid, gtRibbon);
// gtDropDown - die Galerie wird in Form eines Dropdown-Menüs angezeigt
// gtGrid - die Galerie wird als Gitter-Layout angezeigt. D.h., es können mehrere Elemente in der Horizontale angezeigt werden.
// ItemsPerRow steuert die Anzahl der Elemente in der Horizontalen
// gtRibbon - Die Galerie ist im Ribbon </span>
ItemsPerRow
|
csMenu |
ShowRichContent |
|
Der Befehl wird wie ein Office 2007-Optionsfeld angezeigt. |
csSeparator |
csText und csSeparator verwenden dieselbe CommandProps-Klasse, daher sind die verfügbaren Eigenschaften gleich. |
csText |
csText und csSeparator verwenden dieselbe CommandProps-Klasse, daher sind die verfügbaren Eigenschaften gleich. |
Weitere Eigenschaften für Ribbon-Komponenten
KeyTip: Die Taste, mit der der Befehl über die Tastatur aktiviert werden kann. Zum Aktivieren von KeyTip drücken Sie entweder die Taste ALT oder F10.
NewCol: Durch Setzen von NewCol wird das Steuerelement in einer neuen Spalte der Ribbon-Gruppe angezeigt. Diese Eigenschaft ist nur wirksam, wenn die Ausrichtung der Ribbon-Gruppe gaVertical ist.
NewRow: Durch Setzen von NewRow wird das Steuerelement in einer neuen Zeile der Ribbon-Gruppe angezeigt. Diese Eigenschaft ist nur wirksam, wenn die Ausrichtung der Ribbon-Gruppe gaHorizontal ist.
Default: Durch Setzen auf True wird die Beschriftung eines Menüeintrags fett angezeigt. Nur für Menüeinträge wirksam.