PBToolboxAI v4 ← Site

buttonbar — u_pbt_buttonbar #

← Komponentenreferenz · Inhalt des Handbuchs

buttonbar ordnet eine Reihe von Befehlsschaltflächen — Symbol, Beschriftung oder beides — in einer Komponente an. Ein Klick meldet die Button-Id (ue_clicked); jeder Button wird über ein Handle (of_button) gesteuert, um ihn zu deaktivieren, zu färben oder auszublenden. Die zu bevorzugende Komponente, sobald es mehrere Schaltflächen gibt: ein WebView2 für die ganze Leiste statt N einzelner button.

▶ Live sehen — Demoanwendung, Kachel Button bar, mit dem Code und dieser Seite nebeneinander.


Schnellstart #

// 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

Eigenschaften #

EigenschaftTypStandardBeschreibung
ii_padding_xinteger12Linker/rechter Abstand der Leiste, in Pixeln: der Raum vor der ersten und nach der letzten Schaltfläche. 0 drückt die Schaltflächen an die Ränder; -1 = der des Designs
ii_padding_yinteger12Oberer/unterer Abstand der Leiste, in Pixeln. Eine Schaltfläche FÜLLT die Höhe der Leiste: dieser Abstand bestimmt also die Höhe der Schaltflächen (höhere Leiste oder kleinerer Abstand = höhere Schaltflächen). Standard 12; -1 = der des Designs
ii_gapinteger-1Abstand ZWISCHEN zwei Schaltflächen, in Pixeln. -1 (Standard) = der des Designs. 0 fügt die Schaltflächen zusammen, mit einer Trennlinie, wenn das Design eine hat
is_alignstringendRichtet die Reihe aus: start (links), center, end (rechts, Standard, wie ein Dialog) oder justify (gleich breite Schaltflächen über die ganze Breite). Logische (RTL-fähige) Werte — Konstanten ALIGN_*
is_defaultstring""Schlüssel der Standard-Schaltfläche — die primäre Aktion, mit dem Akzent gefärbt, die Enter auslöst (wie das OK eines Dialogs). Hat eine Schaltfläche der Leiste den Tastaturfokus, löst Enter DIESE Schaltfläche aus, die dann das Standard-Aussehen trägt (Windows-Konvention); is_default liefert weiterhin den gesetzten Schlüssel. Eine deaktivierte oder ausgeblendete Standardschaltfläche nimmt Enter nicht an: die Taste bleibt beim Fenster. Haben zwei Leisten desselben Fensters eine Standardschaltfläche (zwei MDI-Blätter, zwei Bereiche), geht Enter an die auf der Seite des Fokus. Die Rolle geht mit ihrer Schaltfläche: sie zu entfernen oder die Leiste zu leeren, leert is_default. Leer = keine; immer nur eine Standardschaltfläche
is_cancelstring""Schlüssel der Abbrechen-Schaltfläche — diejenige, die Esc auslöst (wie das Abbrechen eines Dialogs). Deaktiviert oder ausgeblendet nimmt sie Esc nicht an. Die Rolle geht mit ihrer Schaltfläche: sie zu entfernen oder die Leiste zu leeren, leert is_cancel. Leer = keine; immer nur eine Abbrechen-Schaltfläche
is_theme_stylestring""Visueller Stil der Komponente (Konstanten THEME_STYLE_*); leer = der der Anwendung, bei jeder Änderung übernommen
is_theme_modestring""Helle oder dunkle Variante (Konstanten THEME_MODE_*); leer = die der Anwendung, bei jeder Änderung übernommen
il_theme_accentlong-1Akzentfarbe dieser Komponente (-1 = Akzent der Anwendung, sonst der des Designs)
is_tooltipstring""Einfacher Tooltip beim Überfahren der Komponente
is_super_tooltip_titlestring""Titel des erweiterten Tooltips (hat Vorrang vor is_tooltip)
is_super_tooltip_textstring""Text des erweiterten Tooltips (Rich-Markup zulässig)
is_super_tooltip_imagestring""Bild des erweiterten Tooltips

Methoden #

MethodeRolle
of_add_button (string as_key, string as_image_file, string as_text) → longFügt am Ende der Leiste eine Befehlsschaltfläche hinzu (Id, Bilddatei, Beschriftung). mono: färbt das Bild aufs Design um; leere Beschriftung ergibt eine Nur-Symbol-Schaltfläche. Liefert 0, -5 bei leerem Schlüssel, einem Schlüssel mit / oder einem senkrechten Strich, einem schon vorhandenen Schlüssel oder ohne Bild und Text
of_insert_button (string as_key, integer ai_index, string as_image_file, string as_text) → longFügt eine Befehlsschaltfläche an Position ai_index (1-basiert) ein und verschiebt die übrigen. Liefert 0, -5 bei leerem Schlüssel, einem Schlüssel mit / oder einem senkrechten Strich, einem schon vorhandenen Schlüssel oder ohne Bild und Text
of_remove_button (string as_key) → longEntfernt eine Schaltfläche über ihren Schlüssel; die übrigen behalten ihren Zustand. Ihr Alt+Buchstabe, die Kürzel, die die Anwendung ihr gab, ihre Standard-/Abbrechen-Rolle, ihre Farben und ihr Tooltip gehen mit. Liefert 0, -5 bei leerem Schlüssel oder einem Schlüssel, der keine Schaltfläche nennt
of_move_button (string as_key, integer ai_index) → longVerschiebt eine Schaltfläche an Position ai_index (1-basiert), ohne ihren Zustand zu verlieren. Liefert 0, -5 bei leerem Schlüssel oder einem Schlüssel, der keine Schaltfläche nennt
of_clear_buttons ( ) → longEntfernt alle Schaltflächen der Leiste, samt Alt+Buchstaben, den Kürzeln, die die Anwendung ihnen gab, den Standard-/Abbrechen-Rollen, Farben und Tooltips. Liefert 0, -2 wenn nicht erzeugt
of_focus_button (string as_key) → longSetzt den Tastaturfokus auf EINE Schaltfläche — Nein statt Ja bei einer zerstörenden Frage, damit Enter mit Nein antwortet. Liefert 0, -5 bei leerem Schlüssel oder einem, der keine Schaltfläche nennt, -4 wenn die Schaltfläche ihn nicht annehmen kann (deaktiviert, ausgeblendet oder im Demomodus nicht gezeichnet), -2 wenn nicht erzeugt
of_register_shortcut (string as_chord, string as_key) → longGibt EINER Schaltfläche ein Tastenkürzel (Ctrl+S, F5…): irgendwo im Fenster gedrückt, löst es die Schaltfläche aus (ue_clicked), auch wenn der Fokus woanders liegt. Es ist unabhängig vom Alt+Buchstaben der Schaltfläche: sie zu deaktivieren, ihren Buchstaben zu ändern oder sie wieder zu aktivieren, berührt es nie. Ein leeres Kürzel entfernt es. Auf einer Leiste nennt ein Kürzel immer eine Schaltfläche: die Form mit einem Argument oder ein Schlüssel, der keine Schaltfläche nennt, liefert -5. Liefert 0, -2 wenn nicht erzeugt
of_button (string as_key) → n_pbt_buttonbar_buttonLiefert das Handle einer Schaltfläche (per Id), um ihre Eigenschaften zu lesen oder zu ändern (siehe unten)

Ereignisse #

EreignisWann
ue_clicked (string as_key)Eine Schaltfläche wurde benutzt: ein Klick, Enter (die Standardschaltfläche oder die fokussierte), Esc (die Abbrechen-Schaltfläche), ihr Alt+Buchstabe oder ein auf ihr registriertes Kürzel. Ihr Schlüssel wird übergeben: eine Anwendung, die Abbrechen verdrahtet, muss es auch über Esc erwarten. Eine deaktivierte Schaltfläche sendet nichts

Eigenschaften einer Schaltfläche (of_button) #

EigenschaftTypStandardBeschreibung
ib_enabledbooleantrueAktiviert oder deaktiviert eine Schaltfläche; deaktiviert ist sie nicht klickbar und wird weder von Enter, Esc noch ihrem Kürzel ausgelöst
ib_visiblebooleantrueZeigt oder verbirgt eine Schaltfläche; verborgen behält sie ihren Platz und kehrt zurück
is_textstring""Beschriftung der Schaltfläche; nach dem Hinzufügen änderbar. Eine Schaltfläche behält eine Beschriftung oder ein Symbol: die Beschriftung einer Schaltfläche ohne Symbol zu leeren wird abgelehnt, und die Beschriftung liest sich unverändert
is_imagestring""Symbol der Schaltfläche (Bilddatei; mono: folgt dem Design); nach dem Hinzufügen änderbar. Das Symbol einer Schaltfläche ohne Beschriftung zu leeren wird abgelehnt. Eine reine Symbolschaltfläche wird einem Bildschirmleser über ihren Tooltip (is_tooltip) angesagt, sonst über ihren Schlüssel
il_badgelong0Kleines Zähler-Badge in der Ecke der Schaltfläche (0 = keins)
is_shortcutstring""Mnemonik dieser Schaltfläche: Alt+der Buchstabe löst sie aus, von überall im Fenster, und der Buchstabe wird in der Beschriftung unterstrichen. Ein Buchstabe (der erste wird verwendet); leer = keine. Ein ausdrücklich für dieselbe Taste registriertes Kürzel (of_register_shortcut) geht dem Buchstaben vor; ein PB-Menü mit demselben Buchstaben verliert ihn, solange die Schaltfläche auslösen kann. Solange die Schaltfläche deaktiviert, ausgeblendet oder im Demomodus nicht gezeichnet ist, bleibt ihr Buchstabe dem Fenster
il_back_colorlong-1Hintergrund DIESER Schaltfläche (-1 = der der Komponente, folgt dem Design)
il_text_colorlong-1Textfarbe DIESER Schaltfläche (-1 = die der Komponente)
il_back_color_hoverlong-1Hintergrund DIESER Schaltfläche beim Überfahren (-1 = der der Komponente)
il_text_color_hoverlong-1Textfarbe DIESER Schaltfläche beim Überfahren (-1 = die der Komponente)
il_accentlong-1Akzent DIESER Schaltfläche (-1 = Akzent der Komponente)

Vom gemeinsamen Sockel geerbt #

Diese Mitglieder gibt es bei jeder visuellen Komponente — sie sind nicht dieser eigen. Sie werden einmal in den übergreifenden Kapiteln beschrieben; diese Tabelle sagt nur, wo man sie liest.

MitgliederRolleBeschrieben in
of_count · of_keys_at · of_hasDurchlaufen, was die Komponente enthält3.2 Die Items
of_resetDie Komponente zurücksetzen3.6 Eine Komponente zurücksetzen: of_reset()
of_register_shortcut · of_clear_shortcutsTastenkürzel der Komponente3.5 Tastenkombinationen
of_is_created · of_is_ready · of_get_last_errorOb sie entstanden ist, ob sie bereit ist, was fehlschlug3.7 Diagnose
of_save_as_png · of_save_as_jpgDie Darstellung als Bild exportieren3.8 Die Darstellung als Bild exportieren
of_set_redrawÄnderungen zu einem einzigen Neuzeichnen bündeln3.10 Best Practices
of_preload_iconsSymbole ohne VerzögerungSofortige Anzeige: of_icon
of_set_translationEine Beschriftung der Komponente übersetzen5.2 Eine Beschriftung anpassen: of_set_translation
of_focus_webviewDer Komponente den Fokus geben6.4 Tastatur und Fokus
of_print · of_print_to_pdfDrucken oder ein PDF schreiben6.9 Drucken
of_set_property · of_get_property · of_component_nameEine Eigenschaft über ihren Namen steuern3.1 Die Eigenschaften-Engine

← Komponentenreferenz · Inhalt des Handbuchs