Ajout de commandes au ruban

De RAD Studio
Aller à : navigation, rechercher

Remonter à Comment construire une application qui utilise des contrôles ruban

Cette rubrique suit en séquence la création d'une application ruban à l'aide de l'expert Application Ruban ou des étapes manuelles décrites dans Création d'une application qui utilise les contrôles de ruban.

Cette rubrique suppose que vous êtes familier avec le composant TActionManager et les composants associés à son utilisation. De nombreuses nouvelles propriétés ont été ajoutées afin de prendre en charge les exigences de ruban. La plupart des propriétés existantes sont sans effet quand elles sont modifiées sur une commande qui est affichée sur le ruban.

Par exemple :

  • Les petits boutons affichent toujours leur glyphe sur la gauche du libellé.
  • Les grands boutons affichent toujours leur glyphe en haut.
  • Un grand bouton doit avoir un libellé. Le libellé doit être au maximum de deux lignes et la largeur du bouton est redimensionnée en conséquence. La hauteur d'un grand bouton est fixée pour couvrir la hauteur du groupe où la commande est affichée.
  • Seuls les petits boutons sans libellé peuvent être affichés dans les groupes.

Nouvelles propriétés

CommandStyle : La propriété CommandStyle détermine le type de contrôle qui est utilisé pour représenter cette commande sur le ruban. Le style par défaut est csButton. CommandStyle est beaucoup utilisée pour déterminer le type de contrôle utilisé pour la commande, sauf sous une exception.

type TCommandStyle = (csButton, csMenu, csSeparator, csText, csGallery, csComboBox, csControl, csCustom);


csButton

La commande est un bouton.

csComboBox

La commande affiche une boîte à options de style Office 2007. Voir la remarque suivante.

csControl

Un descendant de TControl est associé à la commande. Un exemple est l'action de déposer un composant TEdit sur un groupe de ruban.

csCustom

Défini par l'utilisateur.

csGallery

La commande est une galerie, ou elle affiche une galerie quand elle est sélectionnée.

csMenu

La commande est un élément de menu.

csSeparator

La commande est un séparateur avec une description texte.

csText

La commande affiche seulement du texte et n'a pas de contrôle associé.


Remarque : Vous pouvez seulement utiliser le style de commande csComboBox si vous avez d'abord placé un composant TRibbonComboBox de la palette d'outils sur votre groupe de ruban.

CommandProperties : CommandProperties est une classe de propriétés dynamiques. Les propriétés publiées de cette propriété (c'est un descendant de TPersistent) varient selon le style de commande sélectionné. Si vous sélectionnez le style de commande csButton, la classe CommandProperties utilisée est appelée TButtonProperties. Cette classe de propriétés publie les propriétés qui sont spécifiques au style de commande csButton.

L'exemple ButtonSize vous permet d'indiquer si le bouton est un petit ou un grand bouton. Il n'est pas nécessaire pour une commande csMenu d'avoir une propriété ButtonSize car le menu ne réagit pas à une variation de taille.

Toutes les classes CommandProperties dérivent de TCommandProperties. Si vous utilisez le style de commande csCustom, vous devez descendre de la classe TCommandProperties.

Les propriétés disponibles dans la propriété CommandProperties dépendent du style de commande sélectionné

csButton

ButtonSize
Taille du bouton :

TButtonSize = (bsSmall, bsLarge);

ButtonType
Types spéciaux des boutons autorisés :

TButtonType = (btNone, btDropDown, btSplit, btGallery);
// btNone - normal button
// btDropdown - button displays a drop-down menu
// btSplit - button has drop-down menu and a default action
// btGallery - button displays a gallery as a drop-down menu

GroupPosition
Position de cette commande dans un groupe de commandes :

TGroupPosition = (gpNone, gpStart, gpMiddle, gpEnd, gpSingle);
// Determines whether a border is drawn around a button
// gpNone - no border drawn
// gpStart - the right edge of a border is not drawn
// gpMiddle - top and bottom of border is drawn
// gpEnd - the left edge is not drawn
// gpSingle - the full border is drawn

csCheckBox

La commande apparaît comme une case à cocher Office 2007.

csComboBox

AllowResize
Contrôle si le menu déroulant associé à la boîte à options peut être redimensionné :

TGalleryResize = (grNone, grVertical, grBoth);
// grNone - do not allow resizing
// grVertical - only allow vertical resizing
// grBoth - allow both vertical and horizontal resizing

Items
Eléments à afficher quand l'utilisateur sélectionne le bouton déroulant. Ces éléments s'affichent dans une fenêtre comme une boîte à options habituelle.
Text
Le texte à afficher dans la boîte à options.
Width
La largeur du contrôle incrémenteur, à l'exclusion de toute largeur de libellé.

csControl

ContainedControl
Référence au contrôle auquel elle est associée sur le ruban.

csCustom

Défini par l'utilisateur.

csGallery

La classe csGallery CommandProperties descend de la classe csButton CommandProperties. Cela signifie que toutes les propriétés csButton sont aussi disponibles pour les commandes csGallery, ainsi que les propriétés de galerie suivantes.
GalleryType
Type de galerie à afficher

TGalleryType = (gtDropDown, gtGrid, gtRibbon);
// gtDropDown - Gallery is in the form of a drop-down menu.
// gtGrid - Gallery is a grid layout, meaning it can be more than one item across.
// ItemsPerRow controls the number of items across.
// gtRibbon - Gallery is in Ribbon.

ItemsPerRow
Nombre d'éléments à afficher sur une ligne.
ShowRichContent
Définissez cette propriété sur True pour afficher le contenu enrichi des éléments de la galerie.

Remarque : L'utilisation de csGallery CommandStyle avec gtRibbon TGalleryType n'est pas supportée dans la version courante, mais vous pouvez utiliser les deux autres TGalleryTypes.

csMenu

ShowRichContent
Définissez cette propriété sur True pour afficher le contenu enrichi d'un élément de menu.
Content
Le contenu à afficher sous forme de contenu enrichi.
Font
Permet d'utiliser une fonte personnalisée lors de l'affichage du contenu enrichi. Les éléments de menu du contenu enrichi sont limités à deux lignes. Selon le contenu, les éléments de menu peuvent être plus larges et ne sont pas changés afin d'être plus hauts, et par conséquent certains éléments de menu affichent des lignes supplémentaires (au-delà des deux permises.)

csRadioButton

La commande apparaît comme un bouton radio Office 2007.

csSeparator

csText et csSeparator partagent la même classe CommandProps, les propriétés disponibles sont ainsi les mêmes.
Alignment
L'alignement du texte du libellé.
EllipsisPosition
Place des points de suspension si le texte du libellé est trop large pour la largeur du menu. Il est seulement possible pour les éléments de menu d'être affichés dans le menu Application.
Font
Fonte à utiliser lors du dessin du texte du libellé.
Width
Impose une taille spécifique à la largeur du contrôle créé. Laissez -1 pour csSeparatorCommandStyle et modifiez à votre guise csText CommandStyle.

csText

csText et csSeparator partagent la même classe CommandProps, les propriétés disponibles sont ainsi les mêmes.


Propriétés de composants ruban supplémentaires

KeyTip : La touche qui est enfoncée pour activer la commande lors de l'utilisation du clavier. Pour activer KeyTips, appuyez sur la touche ALT ou F10.

NewCol : La définition de NewCol pour une commande force l'affichage du contrôle dans une nouvelle colonne du groupe de ruban. Cette propriété est seulement effective quand l'alignement du groupe de ruban est gaVertical.

NewRow : La définition de NewRow pour une commande force l'affichage du contrôle dans une nouvelle ligne du groupe de ruban. Cette propriété est seulement effective quand l'alignement du groupe de ruban est gaHorizontal.

Default : Définissez cette propriété sur True pour afficher en gras le libellé des éléments de menus. Seulement effective pour les éléments de menus.

Voir aussi