PBToolboxAI v5 ← Site

buttonbar — u_pbt_buttonbar #

← Riferimento dei componenti · Sommario della guida

buttonbar dispone una fila di pulsanti di comando — icona, etichetta o entrambi — in un solo componente. Un clic riporta la chiave del pulsante (ue_clicked); ogni pulsante si pilota con un handle (of_button) per disabilitarlo, colorarlo o nasconderlo. Il componente da preferire non appena ci sono più pulsanti: un WebView2 per tutta la barra, dove N button separati ne costerebbero N.

▶ Vederlo dal vivo — Applicazione dimostrativa, tessera Button bar, con il codice e questa pagina fianco a fianco.


Avvio rapido #

// A command bar in three lines : key, label, icon
// ("&Save" underlines the S : Alt+S fires the button from anywhere in the window)
uo_bar.of_add_button(/*key*/ "save", /*text*/ "&Save", /*image*/ "mono:img\packimages.dll:svg/samples/save")
uo_bar.of_add_button(/*key*/ "find", /*text*/ "&Find", /*image*/ "mono:img\packimages.dll:svg/samples/find")
uo_bar.of_add_button(/*key*/ "copy", /*text*/ "&Copy")

// A chord : Ctrl+S fires Save, whatever control has the focus
uo_bar.of_button(/*key*/ "save").is_shortcut = "Ctrl+S"

// Grey out a button
uo_bar.of_button(/*key*/ "copy").ib_enabled = false

// React : ue_clicked carries the button key
// (in the ue_clicked event of the component)
CHOOSE CASE as_key
	CASE "save" ; wf_save()
	CASE "find" ; wf_find()
END CHOOSE

Proprietà #

ProprietàTipoPredefinitoDescrizione
ib_enabledbooleantrueL'intera barra attiva o disabilitata. Disabilitata, nessun pulsante risponde — né clic, né Invio, Esc, lettera Alt o scorciatoia: questi tasti restano alla finestra — e la barra esce dall'ordine di tabulazione. Ogni pulsante conserva il proprio ib_enabled
ii_padding_xinteger12Rientro sinistro/destro della barra, in pixel: lo spazio prima del primo pulsante e dopo l'ultimo. 0 accosta i pulsanti ai bordi; -1 = quello del tema
ii_padding_yinteger12Rientro alto/basso della barra, in pixel. Un pulsante RIEMPIE l'altezza della barra: questo rientro decide quindi l'altezza dei pulsanti (barra più alta o rientro minore = pulsanti più alti). 12 per impostazione predefinita; -1 = quello del tema
ii_gapinteger-1Spazio TRA due pulsanti, in pixel. -1 (predefinito) = quello del tema. 0 unisce i pulsanti, separati da una linea quando il tema ne ha una
ii_image_sizeinteger0Dimensione delle icone dei pulsanti, in pixel; 0 = quella del tema (18)
ii_badge_sizeinteger0Altezza dei badge, in pixel — il loro testo segue; 0 = quella del tema (16)
is_alignstringendAllinea la fila: start (sinistra), center, end (destra, predefinito, come una finestra di dialogo) o justify (pulsanti di uguale larghezza su tutta la larghezza). Valori logici (RTL) — costanti ALIGN_*
is_defaultstring""Chiave del pulsante predefinito — l'azione primaria, colorata con l'accento, che Invio attiva (come l'OK di una finestra di dialogo). Quando un pulsante della barra ha il focus della tastiera, Invio attiva QUEL pulsante, che prende allora l'aspetto predefinito (la convenzione di Windows); is_default riletto resta la chiave impostata. Senza pulsante predefinito, il pulsante con il focus mantiene solo il suo anello di focus. Un predefinito disabilitato o nascosto non prende Invio: il tasto resta alla finestra — non va mai al pulsante predefinito di UN'ALTRA barra, nemmeno se è l'unico. Quando due barre della stessa finestra hanno un pulsante predefinito (due fogli MDI, due pannelli), Invio va a quella dal lato del focus. Il ruolo se ne va con il suo pulsante: rimuoverlo, o svuotare la barra, svuota is_default. Vuoto = nessuno; un solo pulsante predefinito alla volta
is_cancelstring""Chiave del pulsante annulla — quello che Esc attiva (come l'Annulla di una finestra di dialogo). Disabilitato o nascosto, non prende Esc. Il ruolo se ne va con il suo pulsante: rimuoverlo, o svuotare la barra, svuota is_cancel. Vuoto = nessuno; un solo pulsante annulla alla volta
is_theme_stylestring""Stile visivo del componente (costanti THEME_STYLE_*); vuoto = quello dell'applicazione, seguito a ogni cambio
is_theme_modestring""Variante chiara o scura (costanti THEME_MODE_*); vuoto = quella dell'applicazione, seguita a ogni cambio
il_theme_accentlong-1Colore d'accento di questo componente (-1 = accento dell'applicazione, o quello del tema)
is_tooltipstring""Tooltip semplice mostrato al passaggio del mouse sul componente
is_super_tooltip_titlestring""Titolo del tooltip avanzato (prevale su is_tooltip)
is_super_tooltip_textstring""Testo del tooltip avanzato (markup avanzato accettato)
is_super_tooltip_imagestring""Immagine del tooltip avanzato

Metodi #

MetodoRuolo
of_add_button (string as_key, string as_text {, string as_image}) → longAggiunge un pulsante di comando alla fine della barra: la sua chiave, la sua etichetta e, a scelta, la sua icona (file immagine; mono: la ricolora al tema). L'etichetta accetta il markup avanzato; &Save sottolinea la S e fa attivare il pulsante con Alt+S, && è una & letterale. Un'etichetta vuota fa un pulsante con sola icona. Restituisce 0, -5 su una chiave vuota, una chiave che contiene / o una barra verticale, una chiave già nella barra, o un pulsante senza immagine né testo
of_insert_button (string as_key, string as_text, string as_image, integer ai_index) → longInserisce un pulsante di comando alla posizione ai_index (a partire da 1), spostando i successivi; oltre l'ultimo va in fondo, a 0 o meno in testa. Restituisce 0, -5 su una chiave vuota, una chiave che contiene / o una barra verticale, una chiave già nella barra, o un pulsante senza immagine né testo
of_remove_button (string as_key) → longRimuove un pulsante per chiave; gli altri mantengono il loro stato vivo. La sua lettera Alt, le scorciatoie che l'applicazione gli ha dato, il suo ruolo predefinito / annulla, i suoi colori e il suo tooltip se ne vanno con lui. Restituisce 0, -5 con chiave vuota o una chiave che non nomina alcun pulsante
of_move_button (string as_key, integer ai_index) → longSposta un pulsante alla posizione ai_index (a partire da 1; oltre l'ultimo = in fondo, 0 o meno = in testa) senza perdere il suo stato vivo. Restituisce 0, -5 con chiave vuota o una chiave che non nomina alcun pulsante
of_clear_buttons ( ) → longRimuove tutti i pulsanti dalla barra, con le loro lettere Alt, le scorciatoie che l'applicazione ha dato loro, i ruoli predefinito / annulla, colori e tooltip. Restituisce 0, -2 se non creato
of_clear_shortcuts ( ) → longRimuove la scorciatoia di TUTTI i pulsanti: non risponde più, non compare più nel tooltip, e is_shortcut si rilegge vuoto. Le lettere Alt restano. Restituisce 0, -2 se non creato
of_focus_button (string as_key) → longMette il focus della tastiera su UN pulsante — No piuttosto che Sì davanti a una domanda distruttiva, perché Invio risponda No. Restituisce 0, -5 con chiave vuota o che non nomina alcun pulsante, -4 se il pulsante non può prenderlo (disabilitato, nascosto, in una barra disabilitata o non disegnato in modalità demo), -2 se non creato
of_register_shortcut (string as_chord, string as_key) → longDà una scorciatoia da tastiera (Ctrl+S, F5…) a UN pulsante, come il suo is_shortcut: premuta ovunque nella finestra, attiva il pulsante (ue_clicked), anche quando il focus è altrove, e si aggiunge al suo tooltip. È indipendente dalla lettera Alt del pulsante. Finché il pulsante non può attivarsi (disabilitato, nascosto, non disegnato), il tasto resta alla finestra. Una combinazione vuota la rimuove. Su una barra una scorciatoia nomina sempre un pulsante: la forma con un argomento, o una chiave che non nomina alcun pulsante, restituisce -5; una combinazione che la finestra non può mai sollevare (una lettera da sola, Ctrl+Shift) restituisce -5 e mantiene la scorciatoia in essere. Restituisce 0, -2 se non creato
of_button (string as_key) → n_pbt_buttonbar_buttonRestituisce l'handle di un pulsante (dalla sua chiave) per leggere o cambiare le sue proprietà (vedi sotto). Una chiave che non nomina alcun pulsante riceve un handle neutro condiviso: ciò che gli si dà non va da nessuna parte. of_count, of_keys_at e of_has contano anche i pulsanti nascosti

Eventi #

EventoQuando
ue_clicked (string as_key)Un pulsante è stato usato: un clic, Invio (il pulsante predefinito, o quello che ha il focus), Esc (il pulsante annulla), la sua lettera Alt o una scorciatoia registrata su di lui. La sua chiave è passata: un'applicazione che collega Annulla deve aspettarselo anche da Esc. Un pulsante disabilitato non emette nulla
ue_button_rclicked (string as_key, long al_x, long al_y)Clic destro su UN pulsante, o tasto Menu su quello che ha il focus, con la sua chiave: il punto in cui aprire il menu di quel pulsante. Un pulsante disabilitato non risponde. È l'unico evento di quel clic destro: ue_rclicked non viene sollevato in più; al_x, al_y: dove aprire il menu, in pixel dello schermo — il puntatore, o da tastiera (tasto Menu, Maiusc+F10) l'angolo in basso a sinistra del pulsante; un contextmenu vi si apre così com'è (uo_menu.of_show(al_x, al_y))
ue_rclicked ( )Clic destro sulla barra FUORI da qualsiasi pulsante. Un clic destro su un pulsante solleva solo ue_button_rclicked: un menu scritto in entrambi non si apre mai due volte

Proprietà di un pulsante (of_button) #

ProprietàTipoPredefinitoDescrizione
ib_enabledbooleantrueAttiva o disabilita un pulsante; disabilitato, non si clicca e né Invio, né Esc, né la sua lettera Alt, né la sua scorciatoia lo attivano — questi tasti restano alla finestra; le frecce lo saltano
ib_visiblebooleantrueMostra o nasconde un pulsante; nascosto, mantiene il posto e ritorna dov'era
is_textstring""L'etichetta del pulsante, markup avanzato accettato; da cambiare dopo l'aggiunta. &Save sottolinea la S e fa attivare il pulsante con Alt+S da qualsiasi punto della finestra, come un CommandButton PowerBuilder; && è una & letterale. Un pulsante conserva un'etichetta o un'icona: svuotare l'etichetta di un pulsante senza icona è rifiutato, e l'etichetta si rilegge invariata
is_imagestring""Icona del pulsante (file immagine; mono: segue il tema); da cambiare dopo l'aggiunta. Svuotare l'icona di un pulsante senza etichetta è rifiutato. Un pulsante solo icona è annunciato allo screen reader dal suo tooltip (is_tooltip), altrimenti dalla sua chiave
is_stylestringstandardL'aspetto del pulsante: standard, primary (il blocco d'accento), flat (senza cornice a riposo) o danger (un'azione distruttiva, nel colore di pericolo del tema) — costanti STYLE_*; un valore sconosciuto si rilegge standard. Un pulsante disabilitato perde il riempimento
is_badgestring""Un piccolo badge nell'angolo del pulsante: un numero (3; oltre 99 mostra 99+) o una parola breve (New, !). "" o 0 = nessuno. Un lettore di schermo lo sente con il nome del pulsante
il_badgelong0Lo stesso badge, come numero (0 = nessuno); un badge-parola si rilegge 0 qui
il_badge_colorlong-1Colore del badge di QUESTO pulsante; -1 = quello del tema, 0 è il nero. Il testo sopra è scelto per restare leggibile
is_mnemonicstring""La lettera Alt del pulsante quando non è la & della sua etichetta — prevale su di essa: una lettera o una cifra, la prima della sua specie nell'etichetta è sottolineata. Vuoto = la & dell'etichetta. Finché il pulsante non può attivarsi, la sua lettera resta alla finestra
is_shortcutstring""Una COMBINAZIONE di tasti per questo pulsante — Ctrl+S, F5, Ctrl+Shift+P: premuta ovunque nella finestra, attiva il pulsante e si aggiunge al suo tooltip (Save (Ctrl+S)). Si rilegge nella sua forma canonica (ctrl+s); una combinazione che la finestra non può mai sollevare è rifiutata e si rilegge vuota. Come of_register_shortcut(chord, key). La lettera Alt è la & dell'etichetta, o is_mnemonic
il_back_colorlong-1Sfondo di QUESTO pulsante (-1 = quello del componente, che segue il tema)
il_text_colorlong-1Colore del testo di QUESTO pulsante (-1 = quello del componente)
il_back_color_hoverlong-1Sfondo di QUESTO pulsante al passaggio (-1 = quello del componente)
il_text_color_hoverlong-1Colore del testo di QUESTO pulsante al passaggio (-1 = quello del componente)
il_accentlong-1Accento di QUESTO pulsante: colora il suo badge e, quando è il pulsante predefinito (o in stile primary), il suo riempimento (-1 = l'accento del componente)

Ereditato dalla base comune #

Questi membri esistono su tutti i componenti visivi — non sono propri di questo. Sono descritti una sola volta, nei capitoli trasversali; questa tabella dice solo dove leggerli.

MembriRuoloDescritto in
of_count · of_keys_at · of_hasPercorrere ciò che il componente contiene3.2 Gli item
of_resetRiportare il componente a zero3.6 Riportare un componente a zero: of_reset()
of_register_shortcut · of_clear_shortcutsScorciatoie da tastiera del componente3.5 Le scorciatoie da tastiera
of_is_created · of_is_ready · of_get_last_errorSe è nato, se è pronto, cosa è fallito3.7 Diagnostica
of_save_as_png · of_save_as_jpgEsportare il rendering in immagine3.8 Esportare il rendering come immagine
of_set_redrawRaggruppare le modifiche in un solo ridisegno3.10 Buone pratiche
of_preload_iconsIcone mostrate senza ritardoVisualizzazione istantanea: of_icon
of_set_translationTradurre una dicitura del componente5.2 Adattare un'etichetta: of_set_translation
of_focus_webviewDare il focus al componente6.4 Tastiera e focus
of_print · of_print_to_pdfStampare, o scrivere un PDF6.9 Stampare
of_set_property · of_get_property · of_component_namePilotare una proprietà per nome3.1 Il motore delle proprietà
is_accessible_name · is_accessible_descriptionIl nome e la descrizione che dice un lettore di schermo3.4 Proprietà ed event opzionali

← Riferimento dei componenti · Sommario della guida