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 l'id 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 Nbuttonseparati 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
uo_bar.of_add_button(/*key*/ "save", /*image_file*/ "mono:img\packimages.dll:svg/samples/save", /*text*/ "Save")
uo_bar.of_add_button(/*key*/ "find", /*image_file*/ "mono:img\packimages.dll:svg/samples/find", /*text*/ "Find")
uo_bar.of_add_button(/*key*/ "copy", /*image_file*/ "", /*text*/ "Copy") // no icon
// 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à | Tipo | Predefinito | Descrizione |
|---|---|---|---|
ii_padding_x | integer | 12 | Rientro 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_y | integer | 12 | Rientro 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_gap | integer | -1 | Spazio TRA due pulsanti, in pixel. -1 (predefinito) = quello del tema. 0 unisce i pulsanti, separati da una linea quando il tema ne ha una |
is_align | string | end | Allinea 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_default | string | "" | 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. Un predefinito disabilitato o nascosto non prende Invio: il tasto resta alla finestra. 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_cancel | string | "" | 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_style | string | "" | Stile visivo del componente (costanti THEME_STYLE_*); vuoto = quello dell'applicazione, seguito a ogni cambio |
is_theme_mode | string | "" | Variante chiara o scura (costanti THEME_MODE_*); vuoto = quella dell'applicazione, seguita a ogni cambio |
il_theme_accent | long | -1 | Colore d'accento di questo componente (-1 = accento dell'applicazione, o quello del tema) |
is_tooltip | string | "" | Tooltip semplice mostrato al passaggio del mouse sul componente |
is_super_tooltip_title | string | "" | Titolo del tooltip avanzato (prevale su is_tooltip) |
is_super_tooltip_text | string | "" | Testo del tooltip avanzato (markup avanzato accettato) |
is_super_tooltip_image | string | "" | Immagine del tooltip avanzato |
Metodi #
| Metodo | Ruolo |
|---|---|
of_add_button (string as_key, string as_image_file, string as_text) → long | Aggiunge un pulsante di comando (id, file immagine, etichetta) in fondo alla barra. mono: sull'immagine la ricolora sul tema; un'etichetta vuota crea un pulsante solo icona. Restituisce 0, -5 con chiave vuota, una chiave che contiene / o una barra verticale, una chiave già nella barra o senza immagine né testo |
of_insert_button (string as_key, integer ai_index, string as_image_file, string as_text) → long | Inserisce un pulsante di comando alla posizione ai_index (a partire da 1), spostando gli altri. Restituisce 0, -5 con chiave vuota, una chiave che contiene / o una barra verticale, una chiave già nella barra o senza immagine né testo |
of_remove_button (string as_key) → long | Rimuove 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) → long | Sposta un pulsante alla posizione ai_index (a partire da 1) senza perdere il suo stato vivo. Restituisce 0, -5 con chiave vuota o una chiave che non nomina alcun pulsante |
of_clear_buttons ( ) → long | Rimuove 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_focus_button (string as_key) → long | Mette 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 o non disegnato in modalità demo), -2 se non creato |
of_register_shortcut (string as_chord, string as_key) → long | Dà a UN pulsante una scorciatoia da tastiera (Ctrl+S, F5…): premuta ovunque nella finestra, attiva il pulsante (ue_clicked), anche quando il focus è altrove. È indipendente dalla lettera Alt del pulsante: disabilitarlo, cambiarne la lettera o riabilitarlo non la tocca mai. Una combinazione vuota la rimuove. Su una barra una scorciatoia nomina sempre un pulsante: la forma a un argomento, o una chiave che non nomina alcun pulsante, restituisce -5. Restituisce 0, -2 se non creato |
of_button (string as_key) → n_pbt_buttonbar_button | Restituisce l'handle di un pulsante (per id) per leggere o cambiare le sue proprietà (vedi sotto) |
Eventi #
| Evento | Quando |
|---|---|
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 |
Proprietà di un pulsante (of_button) #
| Proprietà | Tipo | Predefinito | Descrizione |
|---|---|---|---|
ib_enabled | boolean | true | Abilita o disabilita un pulsante; disabilitato, non si clicca e né Invio, né Esc, né la sua scorciatoia lo attivano |
ib_visible | boolean | true | Mostra o nasconde un pulsante; nascosto, mantiene il posto e ritorna dov'era |
is_text | string | "" | Etichetta del pulsante; da cambiare dopo l'aggiunta. Un pulsante mantiene un'etichetta o un'icona: svuotare l'etichetta di un pulsante senza icona è rifiutato, e l'etichetta si rilegge invariata |
is_image | string | "" | 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 |
il_badge | long | 0 | Piccolo badge di conteggio nell'angolo del pulsante (0 = nessuno) |
is_shortcut | string | "" | Mnemonico di questo pulsante: Alt+la lettera lo attiva, da qualsiasi punto della finestra, e la lettera è sottolineata nella sua etichetta. Una lettera (si usa la prima); vuoto = nessuno. Una scorciatoia registrata esplicitamente per lo stesso tasto (of_register_shortcut) passa davanti alla lettera; un menu PB che usa la stessa lettera la perde finché il pulsante può attivarsi. Finché il pulsante è disabilitato, nascosto o non disegnato in modalità demo, la sua lettera resta alla finestra |
il_back_color | long | -1 | Sfondo di QUESTO pulsante (-1 = quello del componente, che segue il tema) |
il_text_color | long | -1 | Colore del testo di QUESTO pulsante (-1 = quello del componente) |
il_back_color_hover | long | -1 | Sfondo di QUESTO pulsante al passaggio (-1 = quello del componente) |
il_text_color_hover | long | -1 | Colore del testo di QUESTO pulsante al passaggio (-1 = quello del componente) |
il_accent | long | -1 | Accento di QUESTO pulsante (-1 = 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.
| Membri | Ruolo | Descritto in |
|---|---|---|
of_count · of_keys_at · of_has | Percorrere ciò che il componente contiene | 3.2 Gli item |
of_reset | Riportare il componente a zero | 3.6 Riportare un componente a zero: of_reset() |
of_register_shortcut · of_clear_shortcuts | Scorciatoie da tastiera del componente | 3.5 Le scorciatoie da tastiera |
of_is_created · of_is_ready · of_get_last_error | Se è nato, se è pronto, cosa è fallito | 3.7 Diagnostica |
of_save_as_png · of_save_as_jpg | Esportare il rendering in immagine | 3.8 Esportare il rendering come immagine |
of_set_redraw | Raggruppare le modifiche in un solo ridisegno | 3.10 Buone pratiche |
of_preload_icons | Icone mostrate senza ritardo | Visualizzazione istantanea: of_icon |
of_set_translation | Tradurre una dicitura del componente | 5.2 Adattare un'etichetta: of_set_translation |
of_focus_webview | Dare il focus al componente | 6.4 Tastiera e focus |
of_print · of_print_to_pdf | Stampare, o scrivere un PDF | 6.9 Stampare |
of_set_property · of_get_property · of_component_name | Pilotare una proprietà per nome | 3.1 Il motore delle proprietà |