PBToolboxAI v3 ← Site

buttonbar — u_pbt_buttonbar #

← Référence des composants · Sommaire du guide

buttonbar aligne une rangée de boutons de commande — icône, libellé, ou les deux — dans un seul composant. Un clic rapporte l'id du bouton (ue_clicked) ; chaque bouton se pilote par un handle (of_button) pour le griser, le colorer, le masquer. C'est le composant à préférer dès qu'il y a plusieurs boutons : un WebView2 pour toute la barre, là où N button séparés en coûteraient N.

▶ Le voir en vrai — Application de démonstration, tuile Button bar, avec le code et cette page côte à côte.


Démarrage rapide #

// Une barre d'actions, en trois lignes
uo_bar.of_add_button("save", "mono:img\packimages.dll:svg/samples/save", "Save")
uo_bar.of_add_button("find", "mono:img\packimages.dll:svg/samples/find", "Find")
uo_bar.of_add_button("copy", "", "Copy")   // sans icone

// Griser un bouton
uo_bar.of_button("copy").ib_enabled = false

// Reagir : ue_clicked porte l'id du bouton
// (dans l'evenement ue_clicked du composant)
CHOOSE CASE as_key
	CASE "save" ; wf_save()
	CASE "find" ; wf_find()
END CHOOSE

Propriétés #

PropriétéTypeDéfautDescription
ii_padding_xinteger12Retrait gauche/droite de la barre, en pixels : l'espace avant le premier bouton et après le dernier. 0 colle les boutons aux bords
ii_padding_yinteger12Retrait haut/bas de la barre, en pixels. Un bouton REMPLIT la hauteur de la barre : c'est donc ce retrait qui décide de la hauteur des boutons (barre plus haute ou retrait plus petit = boutons plus hauts). 12 par défaut ; -1 = celui du thème
ii_gapinteger-1Espace ENTRE deux boutons, en pixels. -1 (défaut) = celui du thème : un thème classique accole les boutons (avec un trait de séparation), les autres les détachent. 0 les accole quel que soit le thème
is_alignstringendAligne la rangée : start (gauche), center, end (droite, défaut, comme une boîte de dialogue) ou justify (boutons à largeurs égales sur toute la largeur). Valeurs logiques (RTL) — constantes ALIGN_*
is_defaultstring""Clé du bouton par défaut — l'action principale, peinte avec l'accent, que Entrée déclenche (comme le OK d'une boîte de dialogue). Vide = aucun ; un seul bouton par défaut à la fois
is_cancelstring""Clé du bouton annuler — celui que Échap déclenche (comme le Annuler d'une boîte de dialogue). Vide = aucun ; un seul bouton annuler à la fois
is_theme_stylestringfluentStyle visuel du composant (constantes THEME_STYLE_*)
is_theme_modestringlightVariante claire ou sombre (constantes THEME_MODE_*)
il_theme_accentlong-1Couleur d'accent de ce composant (-1 = accent du thème)
is_tooltipstring""Info-bulle simple affichée au survol du composant
is_super_tooltip_titlestring""Titre de l'info-bulle enrichie (prend le pas sur is_tooltip)
is_super_tooltip_textstring""Texte de l'info-bulle enrichie (balisage riche accepté)
is_super_tooltip_imagestring""Image de l'info-bulle enrichie

Méthodes #

MéthodeRôle
of_add_button (string as_key, string as_image_file, string as_text) → longAjoute un bouton de commande (id, fichier image, libellé) à la fin de la barre. mono: sur l'image la recolore au thème ; un libellé vide fait un bouton icône seule. Rend 0, -5 sur une clé vide ou un bouton sans image ni texte
of_insert_button (string as_key, integer ai_index, string as_image_file, string as_text) → longInsère un bouton de commande à la position ai_index (à partir de 1), décalant les suivants. Rend 0, -5 sur une clé vide ou un bouton sans image ni texte
of_remove_button (string as_key) → longRetire un bouton par sa clé ; les autres gardent leur état vivant. Rend 0, -5 sur une clé vide
of_move_button (string as_key, integer ai_index) → longDéplace un bouton à la position ai_index (à partir de 1) sans perdre son état vivant. Rend 0, -5 sur une clé vide
of_clear_buttons ( ) → longRetire tous les boutons de la barre. Rend 0, -2 si non créé
of_button (string as_key) → n_pbt_buttonbar_buttonRend le handle d'un bouton (par id) pour lire ou changer ses propriétés (voir ci-dessous)

Événements #

ÉvénementQuand
ue_clicked (string as_key)L'utilisateur a cliqué un bouton de commande : son id est passé. Un bouton grisé n'émet rien

Propriétés d'un bouton (of_button) #

PropriétéTypeDéfautDescription
ib_enabledbooleantrueActive ou grise un bouton ; grisé, il ne se clique pas
ib_visiblebooleantrueAffiche ou masque un bouton ; masqué, il garde sa place et revient où il était
is_textstring""Libellé du bouton ; à changer après l'ajout
is_imagestring""Icône du bouton (fichier image ; mono: suit le thème) ; à changer après l'ajout
il_badgelong0Petit badge de comptage dans le coin du bouton (0 = aucun)
is_shortcutstring""Mnémonique de ce bouton : Alt+la lettre le déclenche, et la lettre est soulignée dans son libellé. Une seule lettre (la première est utilisée) ; vide = aucune
il_back_colorlong-1Fond de CE bouton (-1 = celui du composant, qui suit le thème)
il_text_colorlong-1Couleur du texte de CE bouton (-1 = celle du composant)
il_back_color_hoverlong-1Fond de CE bouton au survol (-1 = celui du composant)
il_text_color_hoverlong-1Couleur du texte de CE bouton au survol (-1 = celle du composant)
il_accentlong-1Accent de CE bouton (-1 = accent du composant)

Hérité du socle commun #

Ces membres existent sur tous les composants visuels — ils ne sont pas propres à celui-ci. Ils sont détaillés une seule fois, dans les chapitres transverses ; cette table dit seulement où les lire.

MembresRôleDétaillé dans
of_count · of_keys_at · of_hasParcourir ce que le composant contient3.2 Les items
of_resetRemettre le composant à zéro3.6 Remettre un composant à zéro : of_reset()
of_register_shortcut · of_clear_shortcutsRaccourcis clavier du composant3.5 Les raccourcis clavier
of_is_created · of_is_ready · of_get_last_errorS'il est né, s'il est prêt, ce qui a échoué3.7 Diagnostic
of_save_as_png · of_save_as_jpgExporter le rendu en image3.8 Exporter le rendu en image
of_set_redrawGrouper les modifications en un seul repaint3.10 Bonnes pratiques
of_preload_iconsIcônes affichées sans délaiAffichage instantané : of_icon
of_set_translationTraduire un libellé du composant5.2 Adapter un libellé : of_set_translation
of_focus_webviewDonner le focus au composant6.4 Clavier et focus
of_print · of_print_to_pdfImprimer, ou écrire un PDF6.9 Imprimer
of_set_property · of_get_property · of_component_namePiloter une propriété par son nom3.1 Le moteur de propriétés

← Référence des composants · Sommaire du guide