PBToolboxAI v5 ← Site

angulargauge — u_pbt_angulargauge #

← Komponentenreferenz · Inhalt des Handbuchs

Rundinstrument: ein Wert auf einer kreisförmigen Skala — ein Zeiger, ein gefüllter Bogen oder eine Marke am Rand, farbige Bereiche, die sagen, ob es gut ist, ein Zielwert, eine Anzeige im Format Ihrer Wahl.

▶ Live ansehen — Demoanwendung, Kachel Angular gauge : die Vorschau, der erzeugende Code und diese Seite nebeneinander.


Kurz gefasst #

Userobjectu_pbt_angulargauge
Elementklassen_pbt_angulargauge_range (of_range(key))
Dient zuEine Größe auf einen Blick ablesen — Geschwindigkeit, Temperatur, Zielerreichung, Thermostatregler
PrinzipSie geben eine Skala, einen Wert und Bereiche an; Teilstriche, Zahlen, Farben und Animation sind unsere Sache
FamilieZwilling von gauge: gleiche Methoden, gleiche Ereignisse und, abgesehen von der Geometrie, gleiche Eigenschaften — hier die Winkel und die runden Enden, dort die Ausrichtung und die Lage der Bereiche

Schnellstart #

// A scale from 0 to 240, a number every 20
uo_dial.id_maximum = 240
uo_dial.id_tick_step = 20

// Three ranges of the scale, each with the tone of what it means
uo_dial.of_add_range(/*key*/ "city", /*from*/ 0, /*to*/ 130)
uo_dial.of_add_range(/*key*/ "fast", /*from*/ 130, /*to*/ 180)
uo_dial.of_add_range(/*key*/ "limit", /*from*/ 180, /*to*/ 240)
uo_dial.of_range(/*key*/ "city").is_tone = u_pbt_angulargauge.TONE_SUCCESS
uo_dial.of_range(/*key*/ "fast").is_tone = u_pbt_angulargauge.TONE_WARN
uo_dial.of_range(/*key*/ "limit").is_tone = u_pbt_angulargauge.TONE_DANGER

// The unit, and the value : the needle turns to it
uo_dial.is_unit = "km/h"
uo_dial.id_value = 96

Skala, Wert und Bereiche #

Die Skala reicht von id_minimum bis id_maximum (standardmäßig 0 bis 100). Der Wert id_value wird so zurückgelesen, wie Sie ihn angegeben haben: Außerhalb der Skala wird er am nächsten Ende als Anschlag gezeichnet, und die Anzeige schreibt ihn trotzdem — eine Anzeige, die stillschweigend umschriebe, was die Anwendung gemessen hat, würde zweimal lügen. Vom Code gesetzt, löst er kein Ereignis aus, wie SetItem: ue_value_changed sagt, was der Benutzer getan hat. NULL wird ignoriert: der vorige Wert bleibt — prüfen Sie einen Messwert, der fehlen kann (GetItemNumber liefert NULL), bevor Sie ihn setzen.

Die Zahlen folgen is_format, dem Anzeigeformat eines DataWindow (#,##0.0, $#,##0, 0% schreibt den ANTEIL der Skala — 50 auf 0..200 ergibt 25 %, wie der Fortschrittsbalken), mit den Trennzeichen der Anzeigesprache. Ohne Format wählt die Skala die Nachkommastellen der Anzeige — zwei für eine Skala von 0 bis 1, keine für 0 bis 100 —, nie der Wert, der in einer Sekunde 43 und in der nächsten 42,55 schriebe; die Zahlen der Skala haben die ihres Abstands.

Ein Bereich färbt einen Teil der Skala: seine Farbe ist die, die Sie angeben, sonst die seines Tons (TONE_SUCCESS, TONE_WARN, TONE_DANGER, TONE_INFO = der Akzent des Themas, TONE_NEUTRAL — ein Farbsatz je hellem oder dunklem Modus), sonst die der Palette. Bereiche überlagern sich in der Reihenfolge des Hinzufügens; of_current_range() sagt, in welchem der Wert liegt. Unter einem Zeiger sind sie das Band; unter einem gefüllten Bogen ein Ring darin. Ein Bereich enthält seinen Anfang, aber nicht sein Ende: auf der Grenze, die zwei Bereiche teilen (60 zwischen 0–60 und 60–85), liegt der Wert in dem, der dort beginnt, unabhängig von der Reihenfolge des Hinzufügens; das Ende der Skala gehört dem Bereich, der es erreicht. Die Palettenfarbe eines Bereichs wird beim Hinzufügen festgelegt: das Entfernen eines Bereichs färbt keinen anderen um. Ein Bereich ganz außerhalb der Skala wird nicht gezeichnet.

Winkel werden in Grad gezählt, 0 oben, im Uhrzeigersinn: Standardmäßig beginnt die Skala bei -135 (unten links) und umfasst 270 Grad — ein Tachometer. ii_start_angle = -90 und ii_sweep_angle = 180 ergeben ein halbes Rundinstrument, doppelt so groß gezeichnet. Ein Rundinstrument ist ein Messgerät: In einer Rechts-nach-links-Anwendung wird es nicht gespiegelt.


Eigenschaften #

EigenschaftTypStandardRolle
is_titlestring""Der Titel, über dem Zifferblatt. Markup erlaubt; er benennt die Komponente auch für einen Bildschirmleser. Ohne Titel benennt sie der reine Text des Tooltips (is_super_tooltip_title, sonst is_tooltip), sonst das Wort „Anzeige“ in der Anzeigesprache
id_valuedouble0Der Wert. Er gleitet an seinen Platz; außerhalb der Skala am Anschlag gezeichnet und unverändert zurückgelesen. Vom Code gesetzt, stumm; NULL wird ignoriert, der vorige Wert bleibt
id_minimumdouble0Der Anfang der Skala. Eine Skala, deren Minimum nicht unter dem Maximum liegt, ist leer: kein Teilstrich, keine Zahl, kein Bereich, keine Marke und kein Zielwert, und of_current_range() liefert eine leere Zeichenkette. Um eine Skala umzukehren: ib_reversed
id_maximumdouble100Das Ende der Skala
is_formatstring""Das Anzeigeformat aller Zahlen — Anzeige, Skala, Grenzen eines Bereichs —, in der Syntax eines DataWindow-Formats (#,##0.00, $#,##0, 0%), Trennzeichen der Anzeigesprache. Leer = die Anzeige hat die Nachkommastellen der Skala (zwei für 0 bis 1, keine für 0 bis 100), die Zahlen der Skala die ihres Abstands (0,0, 0,2… 1,0)
is_unitstring""Wird in der Anzeige nach dem Wert geschrieben (%, km/h)
ib_show_valuebooleantrueZeigt die Anzeige — Wert und Einheit — unter dem Drehpunkt eines Zeigers (unter den Zahlen der beiden Enden bei einem kleinen Rundinstrument), in der Mitte eines gefüllten Bogens. Ohne sie wird ein Zeigerinstrument größer gezeichnet
id_tick_stepdouble0Der Abstand zwischen zwei nummerierten Teilstrichen. 0 = von der Skala gewählt: ein runder Schritt (1, 2, 2,5 oder 5 mal eine Zehnerpotenz, dann 3, 4,5 oder 6), der auf beide Enden fällt, wenn es einen gibt — 0 bis 90 in Zehnern, −50 bis 50 in 25ern, 0 bis 360 in 60ern —, sonst ab dem Minimum gezählt (32 bis 212 in 20ern). Ein von Ihnen angegebener Schritt wird immer ab dem Minimum gezählt; ein Schritt mit mehr als 200 Teilstrichen fällt auf den automatischen zurück. Jedes Ende trägt einen nummerierten Teilstrich. Passen nicht alle Zahlen, wird eine von k geschrieben, damit der Abstand regelmäßig bleibt, und beide Enden werden immer geschrieben. Die Zahlen haben die Nachkommastellen ihres Schritts. Der gewählte Schritt ist nie feiner als das, was is_format schreibt (0 bis 3 im Format #,##0: 0, 1, 2, 3); ein von Ihnen angegebener Schritt bleibt Ihrer, und das Format rundet seine Zahlen. Auf einem Zifferblatt, das für einen Zahlenkreis zu klein ist, wird keine geschrieben; auf einem kleinen gefüllten Bogen weicht die Anzeige aus, damit beide Enden bleiben
ii_minor_ticksinteger4Kleine Teilstriche zwischen zwei nummerierten (0 bis 9)
ib_show_ticksbooleantrueZeigt die Teilstriche
ib_show_labelsbooleantrueZeigt die Zahlen der Skala; auf einem für einen Zahlenkreis zu kleinen Zifferblatt wird keine geschrieben — Anzeige und Bereiche sprechen weiter
id_targetdouble0Ein Zielwert — ein Ziel, eine Schwelle —, quer über das Band markiert, solange ib_show_target wahr ist
ib_show_targetbooleanfalseZeigt die Marke von id_target
is_pointerstringneedleWie der Wert gezeigt wird (Konstanten POINTER_*): NEEDLE, ein Zeiger; BAR, das vom Minimum aus gefüllte Band — eine Vollanzeige, die Zahl in der Mitte; MARKER, ein Dreieck am Rand. Unbekannt = NEEDLE
il_value_colorlong-1Die Farbe des Werts — der Zeiger, der gefüllte Bogen oder die Marke; -1 = der Akzent des Themas
il_track_colorlong-1Die Farbe von das Band; -1 = ein Ton der Textfarbe des Themas
ii_thicknessinteger0Die Dicke des Bands in Pixeln (0 bis 80, nie mehr als der halbe Radius); 0 = automatisch: ein Anteil des Radius, zwischen 6 und 24 px unter einem Zeiger oder einer Marke, zwischen 8 und 36 px bei einem gefüllten Bogen — ein großes Rundinstrument bleibt ein Rundinstrument. Die Zahlen der Skala (11 bis 16 px) und die Anzeige wachsen mit
ib_reversedbooleanfalseDas Maximum am Anfang des Bogens: die Skala läuft gegen den Uhrzeigersinn. Rechts und Oben drehen weiterhin im Uhrzeigersinn: bei einem umgekehrten Rundinstrument senken sie den Wert
ii_start_angleinteger-135Wo die Skala beginnt, in Grad: 0 oben, 90 rechts, -90 links (450 wird als 90 zurückgelesen)
ii_sweep_angleinteger270Wie viel des Kreises die Skala abdeckt, in Grad (10 bis 360). Ein negativer Winkel gilt als sein Betrag: um die Skala andersherum laufen zu lassen, ib_reversed. Das Rundinstrument passt sich dem Platz an, den der Winkel einnimmt
ib_editablebooleanfalseDer Benutzer bewegt den Wert: die Nadel um den Drehpunkt drehen, auf das Zifferblatt klicken, Pfeile, Bild auf/ab (zehn Schritte), Pos1 und Ende. Ein Klick nahe dem Drehpunkt, auf die Anzeige oder weit vom Zifferblatt (jenseits des Bandes und der Marken daneben) setzt nichts; beim Ziehen darf die Hand das Zifferblatt verlassen, der Wert bleibt am Ende, von dem er kommt, und springt nie über die Lücke. Rechts und Oben drehen im Uhrzeigersinn, wie ein Drehknopf, wo auch immer der Bogen verläuft (bei einem umgekehrten Zifferblatt senken sie den Wert). Jede Geste löst ue_value_changed einmal aus — eine Taste setzt den Wert wie die Hand sofort, und ein abgebrochenes Ziehen (Meldungsfenster, Alt+Tab) endet wie ein Loslassen; Esc während des Ziehens stellt den Wert wieder her (ein von Ihrem Code inzwischen geschriebener Wert bleibt), ohne die Abbrechen-Schaltfläche des Fensters zu drücken; die Menü-Taste benennt den Bereich, in dem der Wert liegt
id_stepdouble0Die Schrittweite von Hand und Tasten; 0 = die Genauigkeit, die die Anzeige zeigt (die Nachkommastellen von is_format oder die von der Skala gewählten): auf einer Skala von 0 bis 7 liefert die Hand 2,6, nie ein 2,61, das der Benutzer nicht gelesen hat; eine Taste bewegt um ein Hundertstel der Skala, nie weniger als eine angezeigte Stelle. Beide Enden bleiben erreichbar, wenn der Schritt die Skala nicht teilt: von 0 bis 100 in 30ern durchläuft der Wert 0, 30, 60, 90, 100
ib_track_dragbooleanfalseMit ib_editable, auf Wunsch: Während der Benutzer den Wert zieht, folgt ue_value_tracking der Hand — eine live gehörte Lautstärke, eine neu gezeichnete Vorschau. ue_value_changed kommt weiterhin einmal, beim Loslassen; wird ein Ziehen abgebrochen (Esc, ib_editable oder ib_enabled vom Code auf false gesetzt), meldet ue_value_tracking auch den Wert, von dem es ausging
ib_value_tooltipbooleantrueDas Feld, das den Bereich unter dem Zeiger mit seinen Grenzen benennt. Es ist nicht is_tooltip, der Tooltip der ganzen Komponente. Der Tooltip eines Bereichs (sein is_tooltip) wird in dieses Feld geschrieben, auch bei false
ib_value_follows_rangebooleanfalseAuf Wunsch: der Wert — die Nadel, der gefüllte Bogen oder die Marke — nimmt die Farbe des Bereichs an, in dem er liegt (des oben gezeichneten, wenn sich zwei überlappen): rot im roten Bereich. Außerhalb jedes Bereichs behält er il_value_color, sonst den Akzent des Themas. Während der Wert gleitet, folgt die Farbe dem gezeichneten Wert
ib_roundedbooleanfalseAuf Wunsch: abgerundete Enden an Band, gefülltem Bogen und Bereichen. Jedes wird an beiden Enden um die halbe Breite gekürzt, damit es auf seinem Teil der Skala bleibt; ein Bereich, der kürzer als seine eigene Breite ist, wird zu einem Punkt. Ein Vollkreis behält sein Band geschlossen
ib_pointer_tooltipbooleanfalseAuf Wunsch: das Feld benennt auch den Wert unter der Maus — auf der Nadel, dem gefüllten Bogen oder der Marke — und den Zielwert, mit ihrer Zahl im Format der Anzeige. Die Bereiche behalten ihr eigenes Feld (ib_value_tooltip)
id_origindouble0Wo der gefüllte Bogen (POINTER_BAR) beginnt: ein Wert unter dem Ursprung füllt in die andere Richtung — eine Abweichung, eine Varianz, eine Skala von −50 bis 50, die bei 0 beginnt. Solange er nicht gesetzt ist — oder wieder auf NULL gesetzt —, beginnt der Bogen beim Minimum und die Eigenschaft liest das Minimum zurück; außerhalb der Skala am nächsten Ende. Der Zwilling von id_origin von gauge
ib_auto_heightbooleanfalseDie Komponente meldet ihre ideale Höhe, und das Userobject passt sich an (ue_auto_height). Die Breite bestimmt sie: ein halbes Rundinstrument ist halb so hoch
ib_enabledbooleantrueAusgegraut zeigt sie weiter ihren Wert, reagiert aber nicht mehr: kein Klick, keine Taste, kein Ziehen, und sie verlässt die Tab-Reihenfolge
ib_animatedbooleantrueDer Wert gleitet Bild für Bild an seinen Platz — der Zeiger dreht sich — und kommt vom Anfang der Skala (ihrem Minimum), wenn die Komponente gezeichnet wird. Eine während des Gleitens geänderte Eigenschaft (Titel, Einheit, Farbe, Größe) unterbricht es nicht. Ein Arbeitsplatz mit reduzierten Animationen animiert nie; die Hand des Benutzers wird nie animiert; ein unter of_set_redraw(false) gesetzter Wert gleitet bei der Wiederaufnahme
ii_anim_durationinteger450Dauer des Gleitens in Millisekunden (0 bis 5000)
is_anim_easingstringease-outDie Kurve des Gleitens (Konstanten EASING_*, die Namen von LiveCharts2): back-out schießt über und kehrt zurück, bounce-out springt, elastic-out schnellt. Ein Überschießen bleibt auf der Skala. Unbekannt = ease-out
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 des Themas)
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 erlaubt)
is_super_tooltip_imagestring""Bild des erweiterten Tooltips

Methoden #

MethodeRolle
of_add_range ( string as_key, double ad_from, double ad_to { , long al_color } )Fügt einen farbigen Bereich von ad_from bis ad_to hinzu (verkehrt herum angegebene Grenzen werden richtig herum gezeichnet); die Überladung mit Farbe legt sie fest, sonst der Ton, dann die Palette. Liefert 0 nach dem Hinzufügen, -5, wenn der Schlüssel leer ist, / oder ` enthält oder schon vergeben ist (ein Hinzufügen ersetzt nie), -2`, wenn die Komponente nicht erzeugt ist. Die Palettenfarbe wird beim Hinzufügen vergeben: das Entfernen eines Bereichs färbt keinen anderen um
of_clear_ranges ( )Entfernt alle Bereiche — ihre Handles gehen mit —, Wert und Einstellungen bleiben. Liefert 0 danach, -2, wenn die Komponente nicht erzeugt ist
of_current_range ( )Der Schlüssel des Bereichs, in dem der Wert jetzt liegt, eine leere Zeichenkette, wenn er in keinem liegt oder die Skala leer ist. Wo sich zwei Bereiche überlappen, gewinnt der zuletzt hinzugefügte — der oben gezeichnete. Ein ausgeblendeter Bereich zählt nicht; ein Bereich, den der Demomodus nicht zeichnet, zählt: was diese Methode liest, hängt nie von der Lizenz ab. Ein Bereich enthält seinen Anfang, aber nicht sein Ende: auf der gemeinsamen Grenze zweier Bereiche liegt der Wert in dem, der dort beginnt, unabhängig von der Reihenfolge; das Ende der Skala gehört dem Bereich, der es erreicht. Ein Bereich außerhalb der Skala (nicht gezeichnet) zählt ebenfalls
of_range ( string as_key )Das Handle n_pbt_angulargauge_range eines Bereichs, um Grenzen, Farbe, Ton, Namen oder Sichtbarkeit zu lesen oder zu ändern
of_remove_range ( string as_key )Entfernt einen Bereich; sein Handle wird zerstört. Liefert 0 nach dem Entfernen, -5, wenn kein Bereich diesen Schlüssel hat, -2, wenn die Komponente nicht erzeugt ist
of_reset ( )Leert die Bereiche — Handles inbegriffen — und setzt alle Eigenschaften auf ihren Ursprungswert zurück. Liefert 0 danach, -2, wenn die Komponente nicht erzeugt ist

Ereignisse #

EreignisAusgelöst, wenn
ue_value_changed (double ad_value)Nur mit ib_editable: der Benutzer hat den Wert bewegt — einmal je Ziehen (beim Loslassen oder wenn das Ziehen abgebrochen wird: ein Meldungsfenster unter der Hand, Alt+Tab), je Klick, je Taste. Ein von Ihrem Code gesetzter Wert löst es nicht aus, auch nicht während eines Ziehens. Um der Hand während des Ziehens zu folgen: ib_track_drag
ue_value_tracking (double ad_value)Nur mit ib_editable und ib_track_drag, während der Benutzer den Wert zieht: jede neue Position der Hand, dann — wenn das Ziehen abgebrochen wird: Esc, oder ib_editable / ib_enabled von Ihrem Code auf false gesetzt — der Wert, von dem es ausging. Der Endwert kommt weiterhin einmal in ue_value_changed
ue_range_clicked (string as_key)Ein Bereich wurde angeklickt — oder mit Eingabe oder Leertaste auf dem Bereich der Tastatur bestätigt (Tab, dann die Pfeile). Nicht bei einer bearbeitbaren Komponente: dort setzt ein Klick den Wert
ue_range_rclicked (string as_key, long al_x, long al_y)Rechtsklick auf einen Bereich oder Menü-Taste (Umschalt+F10) auf dem Bereich der Tastatur — bei einer bearbeitbaren Komponente auf dem Bereich, in dem der Wert liegt: der Ort, um ein Menü zu öffnen; al_x, al_y: wo das Menü zu öffnen ist, in Bildschirmpixeln — der Zeiger, oder über die Tastatur (Menütaste, Umschalt+F10) die Mitte des Bereichs; ein contextmenu öffnet sich dort unverändert (uo_menu.of_show(al_x, al_y))
ue_auto_height (long al_height)Mit ib_auto_height: das Userobject wurde gerade auf seine ideale Höhe gebracht

Elementeigenschaften #

Ein Bereich wird über seinen Schlüssel angesprochen: uo_dial.of_range("warn").is_tone = u_pbt_angulargauge.TONE_WARN.

EigenschaftTypStandardRolle
id_fromdouble0Der Anfang des Bereichs auf der Skala
id_todouble0Sein Ende. Verkehrt herum angegebene Grenzen werden richtig gezeichnet und unverändert zurückgelesen
il_colorlong-1Seine Farbe; -1 = die seines Tons, sonst der Palette. Die geerbten Elementfarben (il_accent, il_back_color, il_text_color und ihre Hover-Varianten) haben keine Wirkung auf einen Bereich: il_color und is_tone entscheiden
is_tonestring""Sein Ton (Konstanten TONE_* der Komponente): SUCCESS, WARN, DANGER, INFO (der Akzent des Themas), NEUTRAL — ein Satz je hellem oder dunklem Modus, Groß- und Kleinschreibung egal. il_color hat Vorrang; ein unbekannter Ton gilt als kein Ton
is_labelstring""Sein Name, im Feld unter dem Zeiger und für einen Bildschirmleser; leer = sein Schlüssel. Markup erlaubt
ib_visiblebooleantrueBlendet den Bereich aus, ohne ihn zu entfernen; wie ein Kontrollkästchen löst es kein Ereignis aus
is_tooltipstring""Sein Tooltip, in das Feld geschrieben, das den Bereich unter dem Zeiger benennt — nie eine zweite Blase. Markup erlaubt
is_super_tooltip_titlestring""Der fette Titel seines Tooltips, im Feld unter seinem Namen geschrieben
is_super_tooltip_textstring""Der Text seines Tooltips, im Feld. Markup erlaubt
is_super_tooltip_imagestring""Ein Bild oben in seinem Tooltip, im Feld (Bundle-Pfad, absoluter Pfad oder resources.dll:name)

Beispiele #

Ein lebendiges Dashboard #

// Timer event of the window : the needle turns to each new reading
uo_dial.id_value = ids_monitor.GetItemNumber(1, "speed")

// Which range is it in now ? An alert outside the good one
st_alert.visible = (uo_dial.of_current_range() <> "city")

Eine halbe Vollanzeige #

// The band fills from the minimum, the number in the middle
uo_dial.is_pointer = u_pbt_angulargauge.POINTER_BAR

// From the left, over half a circle : the upper half
uo_dial.ii_start_angle = -90
uo_dial.ii_sweep_angle = 180

// A scale from 0 to 1, written as a percentage
uo_dial.id_maximum = 1
uo_dial.is_format = "0%"
uo_dial.id_value = 0.72

Eine Abweichung um null #

// A scale centred on zero : the filled arc starts at 0, not at the minimum
uo_dial.is_pointer = u_pbt_angulargauge.POINTER_BAR
uo_dial.id_minimum = -50
uo_dial.id_maximum = 50
uo_dial.id_origin = 0

// Below the budget, the arc fills to the left of 0
uo_dial.id_value = -18

Ein Wert, den der Benutzer einstellt #

// The user moves the value, by steps of 5
uo_dial.ib_editable = true
uo_dial.id_step = 5

// Event ue_value_changed of uo_dial : apply what the user chose
ii_level = Integer(ad_value)

Eine live eingestellte Lautstärke #

// The user drags the value, and the sound follows the hand
uo_dial.ib_editable = true
uo_dial.ib_track_drag = true

// Event ue_value_tracking of uo_dial : the volume heard while the hand moves
inv_player.ii_volume = Integer(ad_value)

// Event ue_value_changed of uo_dial : the volume kept when the hand lets go
ii_saved_volume = Integer(ad_value)

Eine moderne Kennzahl #

// A filled arc with round ends, in the colour of the zone it is in
uo_dial.is_pointer = u_pbt_angulargauge.POINTER_BAR
uo_dial.ib_rounded = true
uo_dial.ib_value_follows_range = true

// The goal, and its number under the mouse
uo_dial.id_target = 85
uo_dial.ib_show_target = true
uo_dial.ib_pointer_tooltip = true
uo_dial.id_value = 74

Ein Menü auf einem Bereich #

// Event ue_range_rclicked of uo_dial : remember the range, then open the menu
// at the pointer of the window
is_menu_range = as_key
m_range.PopMenu(/*xlocation*/ w_main.PointerX(), /*ylocation*/ w_main.PointerY())

Ein Bild des Zifferblatts für einen Bericht #

// The dial as it is on screen, title and readout included, to a PNG file
uo_dial.of_save_as_png(/*path*/ "C:\Reports\speed.png")

// The same, printed into a PDF file without any dialog
uo_dial.of_print_to_pdf(/*path*/ "C:\Reports\speed.pdf")

Bewährte Praxis #


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
is_accessible_name · is_accessible_descriptionName und Beschreibung, die ein Bildschirmleser sagt3.4 Optionale Eigenschaften und Events

Zwei Helfer werden nicht geerbt: of_icon und of_escape_markup liegen auf n_pbt_utils. Deklarieren Sie eines — n_pbt_utils lnv_utils, nichts zu erzeugen — und rufen Sie sie darauf auf.

← Komponentenreferenz · Inhalt des Handbuchs