Ajout de commandes au ruban
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);
|
La commande est un bouton. |
|
La commande affiche une boîte à options de style Office 2007. Voir la remarque suivante. |
|
Un descendant de TControl est associé à la commande. Un exemple est l'action de déposer un composant TEdit sur un groupe de ruban. |
|
Défini par l'utilisateur. |
|
La commande est une galerie, ou elle affiche une galerie quand elle est sélectionnée. |
|
La commande est un élément de menu. |
|
La commande est un séparateur avec une description texte. |
|
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é
|
TButtonSize = (bsSmall, bsLarge);
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
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
|
|
La commande apparaît comme une case à cocher Office 2007. |
|
TGalleryResize = (grNone, grVertical, grBoth);
// grNone - do not allow resizing
// grVertical - only allow vertical resizing
// grBoth - allow both vertical and horizontal resizing
|
csControl |
|
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. 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
|
csMenu |
ShowRichContent |
|
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. |
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.