PBToolboxAI v5 ← Site

picture — u_pbt_picture #

← Komponentenreferenz · Inhalt des Handbuchs

Bildanzeige: alle gängigen Formate, Zuschnittmodi, Ausrichtung, automatische Graustufendarstellung und Zähler-Plakette.

▶ Live ansehen — Demoanwendung, Kachel Picture: die Vorschau, der zugehörige Code und diese Seite, nebeneinander.


Auf einen Blick #

Userobjectu_pbt_picture
Item-Klasse— (Komponente ohne Items)
WofürEin PowerBuilder-picture ersetzen: moderne Formate (SVG, WebP, animiertes GIF), beherrschter Zuschnitt, anklickbares Bild, automatische Graustufendarstellung
Opt-in-Optionenib_zoomable · ib_clickable · ib_allow_drop · ib_auto_height · ib_track_mouse

Schnellstart #

// open-Event des Fensters
uo_image.is_source  = "img\logo.png"
uo_image.is_stretch = uo_image.STRETCH_UNIFORM   // passt an, ohne zu verzerren
uo_image.is_align   = uo_image.ALIGN_CENTER
uo_image.is_tooltip = "Logo der Firma"

Woher das Bild kommt: is_source #

is_source akzeptiert vier Formen, die alle austauschbar sind:

FormBeispielVerwendung
Lokale Dateiimg\logo.pngpng, jpg, jfif, bmp, gif, ico, svg, webp, avif — and tif, tiff, wmf, emf, rle, converted on the fly
Webadressehttps://…/logo.pngVon einem Server geladenes Bild (nur https: eine http://-Adresse wird abgelehnt, siehe unten)
Eingebettete Datendata:image/png;base64,…Bereits im Speicher vorliegendes Bild, ohne Zwischendatei
DLL-Ressourceimg\packimages.dll:SAMPLEIn einer Ressourcen-DLL verpacktes Bild

Einem GIF kann das Präfix anim: vorangestellt werden, um eine Animation ausdrücklich zu kennzeichnen (GIFs werden ohnehin animiert).

Wenn derselbe Name in einer DLL unter mehreren Ressourcentypen vorkommt, geben Sie den Typ an: img\packimages.dll:PNG/SAMPLE, SVG/SAMPLE, ICON/APP, RCDATA/BLOB. Siehe Bilder und Symbole für die Präfixe mono: und tint:, die ein Glyph passend zum Design umfärben.

Eine http://-Adresse wird abgelehnt: Die Seite der Komponente ist gesichert, und die Engine würde das Bild stillschweigend auf https:// umstellen — auf einem Intranet-Server ohne TLS schlüge es dann mit einer irreführenden Meldung fehl. Die Komponente lehnt sie deshalb von vornherein ab: Fehlerzeichen und ue_error mit REASON_INSECURE. Für ein Bild auf einem unverschlüsselten Server laden Sie es zuerst mit n_pbt_restclient.of_download in einen temporären Ordner herunter und zeigen dann diesen Pfad an. Denselben Pfad erneut zuzuweisen liest die Datei neu: Ein Bild, das Ihre Anwendung gerade neu geschrieben hat (Foto, Scan, Zuschnitt), erscheint, wie beim nativen Picture. Ein Bild auf dem Datenträger ist auf 32 MB begrenzt.

Die Formate des nativen Picture, die die Engine nicht liest — TIFF (Scans, Faxe), WMF, EMF und RLE — werden im Flug umgewandelt: Eine aus PowerBuilder übernommene Anwendung behält ihre Bilder. Leerzeichen um einen Pfad werden ignoriert: Eine mit GetItemString gelesene CHAR-Spalte kommt mit Leerzeichen aufgefüllt an, und Windows ignoriert sie ebenfalls; is_source liest sich so zurück, wie Sie es geschrieben haben. Ein umgefärbtes Bild (mono:, tint:), das von einer anderen Website über https geliefert wird, wird nur gezeichnet, wenn dieser Server Anfragen anderer Herkunft erlaubt (Header Access-Control-Allow-Origin); sonst meldet es ue_error (REASON_FAILED). Dateien des Arbeitsplatzes, DLL-Ressourcen und data: sind nicht betroffen.

Ein Bild im Speicher — ein in der Datenbank gespeichertes und mit SelectBlob gelesenes Foto — wird mit of_set_picture(blob) angezeigt, wie SetPicture des nativen Picture: keine temporäre Datei, kein Base64. Das Format wird an den Bytes erkannt; ue_loaded oder ue_error folgen, wie bei is_source.


Wie es zugeschnitten wird: is_stretch #

KonstanteWirkung
STRETCH_UNIFORMStandard. Das Bild wird ohne Verzerrung skaliert und bleibt vollständig sichtbar; es können Ränder entstehen
STRETCH_UNIFORMTOFILLOhne Verzerrung skaliert, aber der Rahmen wird vollständig gefüllt; Überstände werden beschnitten
STRETCH_FILLDas Bild wird gedehnt, bis es genau den Rahmen ausfüllt — es kann verzerrt werden
STRETCH_NONEUrsprungsgröße, ohne Skalierung

is_align bestimmt die waagerechte Lage des Bildes, wenn es kleiner als das Steuerelement ist: ALIGN_CENTER (Standard), ALIGN_START, ALIGN_END. Die senkrechte Achse hat ihre eigene Eigenschaft, is_valign. Die Platzierung gilt auf dem Bildschirm: ALIGN_START bleibt am Anfangsrand, unabhängig von ii_rotation und ib_mirror. Ein unbekannter Wert wird als center zurückgelesen.


Konstanten #

KonstanteWertFür
STRETCH_NONE · STRETCH_FILL · STRETCH_UNIFORM · STRETCH_UNIFORMTOFILL"none" "fill" "uniform" "uniformtofill"is_stretch
ALIGN_CENTER · ALIGN_START · ALIGN_END"center" "start" "end"is_align
VALIGN_TOP · VALIGN_CENTER · VALIGN_BOTTOM"top" "center" "bottom"is_valign
ROTATION_NONE · ROTATION_90 · ROTATION_180 · ROTATION_2700 90 180 270ii_rotation
REASON_NOT_FOUND · REASON_TOO_LARGE · REASON_INSECURE · REASON_UNSUPPORTED · REASON_FAILED"notfound" "toolarge" "insecure" "unsupported" "failed"ue_error (as_reason)

ALIGN_START und ALIGN_END sind logisch: Sie folgen der Schreibrichtung (Sprache und RTL). Die physischen Werte left und right werden weiterhin als Aliasnamen akzeptiert.


Eigenschaften #

EigenschaftTypStandardZweck
is_sourcestring""Das anzuzeigende Bild (siehe die vier Formen oben)
is_stretchstring"uniform"Zuschnittmodus: STRETCH_NONE, STRETCH_FILL, STRETCH_UNIFORM, STRETCH_UNIFORMTOFILL
is_alignstring"center"Horizontale Platzierung, wenn das Bild kleiner als das Steuerelement ist: ALIGN_CENTER, ALIGN_START, ALIGN_END. Die vertikale Achse ist is_valign
is_valignstring"center"Senkrechte Platzierung, wenn das Bild kleiner als das Steuerelement ist: VALIGN_TOP, VALIGN_CENTER, VALIGN_BOTTOM. Die beiden Achsen sind unabhängig — is_align gibt die Spalte, diese die Zeile — und genau das macht eine Ecke erreichbar
ib_enabledbooleantrueBei false wird das Bild in Graustufen angezeigt und reagiert auf nichts mehr: Klicks, Mausrad, Tastatur und abgelegte Dateien
ii_badgeinteger0Zähler-Plakette in der oberen Ecke am Zeilenende: rechts bei Leserichtung links nach rechts, links bei rechts nach links (0 = keine). Über 99 zeigt sie 99+; ein Bildschirmleser hört sie mit dem Bild („Posteingang, 5 neu“)
il_badge_colorlong-1Hintergrund der Plakette, als PowerBuilder-RGB (-1 = nicht gesetzt: die Farbe aus dem Design; 0 ist Schwarz, wie bei jeder anderen Farbe). Die Textfarbe wird automatisch gewählt, damit der Zähler lesbar bleibt
ii_badge_sizeinteger0Höhe der Plakette in Pixeln (0 = die Größe aus dem Design). Die Schriftgröße folgt von selbst: der Zähler bleibt bei jeder Größe zentriert
ib_track_mousebooleanfalseOpt-in: aktiviert ue_mouse_enter / ue_mouse_leave
is_placeholderstring""Platzhalterbild, angezeigt solange is_source leer ist (ein Rahmen « Foto hinzufügen », eine Silhouette). Gedämpft dargestellt: ein Platzhalter ist nicht der Inhalt und wird nie als geladenes Bild gemeldet. Akzeptiert das Präfix mono:, das ein einfarbiges Zeichen mit dem Design einfärbt
is_error_sourcestring""Ersatzbild, wenn die Quelle beim Laden fehlschlägt. Lassen Sie es leer, und die Komponente zeigt ihr eigenes Fehlerzeichen — nie ein leeres Feld, das dem Benutzer nichts sagt, während ue_error nur zu Ihrem Code gelangt. Akzeptiert das Präfix mono:
ii_rotationinteger0Vierteldrehungen, für Scans und Fotos, die liegend ankommen: ROTATION_NONE, ROTATION_90, ROTATION_180, ROTATION_270 (jeder andere Wert gilt als 0). Eine Vierteldrehung tauscht auch die Einpassachsen, damit das Bild seine Proportionen behält, statt gequetscht zu werden
ib_mirrorbooleanfalseWaagerechte Spiegelung auf dem Bildschirm: das Bild wird von links nach rechts gespiegelt, unabhängig von ii_rotation
ib_zoomablebooleanfalseOpt-in: Der Benutzer darf heranzoomen (Mausrad, zum Mauszeiger hin, oder Tasten + und -), sich bewegen (Ziehen, oder Pfeiltasten — bei Leserichtung rechts nach links umgekehrt) und zur Einpassung zurückkehren (Doppelklick, oder die mit 0 beschriftete Taste, unabhängig vom Tastaturlayout); die Taste 1 zeigt das Bild in seiner TATSÄCHLICHEN Größe, ein Bildpixel pro Bildschirmpixel. Mit gedrückter Strg- oder Alt-Taste bleiben diese Tasten Ihrer Anwendung überlassen. Größer als sein Rahmen, deckt das Bild ihn immer ab: Ziehen legt nie einen leeren Streifen frei; kleiner, bleibt es dort, wo is_align und is_valign es platzieren. Nur die linke Maustaste verschiebt es. Für einen Plan, einen Scan, ein Foto — wo vier feste Einpassmodi nicht genügen
id_zoomdouble1.0Zoomfaktor: 1.0 = die von is_stretch gewählte Einpassung, bis id_max_zoom (standardmäßig 8.0). Zurückgelesen liefert er den aktuellen Faktor, Rad und Tastatur eingeschlossen (ue_zoom_changed meldet jede Änderung: eine Geste des Benutzers, diese von Ihrem Code gesetzte Eigenschaft oder eine neue Quelle, die ihn auf 1.0 zurücksetzt). Erfordert ib_zoomable, zuvor gesetzt: ohne es bleibt der Faktor 1.0. Setzen Sie ihn nach is_source: Ein neues Bild beginnt in der Einpassung
id_max_zoomdouble8.0Die OBERGRENZE des Zooms, in der Einheit von id_zoom (1.0 = die Einpassung): Mausrad, Taste + und id_zoom halten dort an, unabhängig von der Größe des Bildes. Jeder Wert ab 1.0; darunter gilt wieder der Standard. Nur die Taste 1 geht darüber hinaus, bis zur TATSÄCHLICHEN Größe — ein großer, klein angezeigter Scan bleibt Pixel für Pixel lesbar; von dort tut + nichts und - geht wieder zurück. Unter den aktuellen Zoom gesenkt, geht der Zoom darauf zurück und ue_zoom_changed meldet es
ib_allow_dropbooleanfalseOpt-in: nimmt aus dem Windows-Explorer abgelegte Dateien an. Der Rahmen zeigt die Bereitschaft, und die vollständigen Pfade kommen über ue_drop_files — sie in is_source zu laden bleibt Ihrer Anwendung überlassen. Ein deaktiviertes Bild (ib_enabled = false) lehnt jedes Ablegen ab, und ib_allow_drop liest sich weiter wie gesetzt
ib_auto_heightbooleanfalseOpt-in: Das Userobject nimmt die Höhe an, die die Proportionen des Bildes bei seiner aktuellen Breite wahrt. Für ein Bild ist diese Höhe ableitbar: Sie müssen sie nicht selbst aus den von ue_loaded gemeldeten Maßen berechnen
is_alt_textstring""Alternativtext: was ein Bildschirmleser über das Bild sagt, gefolgt von der Zahl der Plakette oder von „Bild nicht verfügbar“, wenn die Quelle fehlgeschlagen ist. Für ein rein dekoratives Bild leer lassen
ib_clickablebooleanfalseOpt-in: Das Bild ist eine SCHALTFLÄCHE — in der Tab-Reihenfolge, mit sichtbarem Fokusrahmen, und Eingabe oder Leertaste lösen ue_clicked wie ein Klick aus (die Standardschaltfläche des Fensters antwortet dann nicht). Deaktiviert verlässt es die Tab-Reihenfolge. Ein Bildschirmleser kündigt eine Schaltfläche mit dem Namen aus is_alt_text an. Ohne diese Eigenschaft ist ein Bild ein Bild: Eingabe geht an das Fenster
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 #

MethodeZweck
of_reset ( )Setzt alle Eigenschaften auf ihren Standard zurück und entfernt das Bild. Liefert 0 nach der Anwendung, -2 wenn die Komponente nicht erzeugt ist
of_set_picture (blob ablb_image)Zeigt ein im Speicher gehaltenes Bild — ein mit SelectBlob aus der Datenbank gelesenes Foto — wie SetPicture des nativen Picture: keine temporäre Datei, kein Base64. Das Format wird an den Bytes erkannt (tif, wmf und emf umgewandelt); is_source liest danach die Adresse zurück, unter der das Bild bereitgestellt wird, und ue_loaded oder ue_error folgen. Liefert 0 nach der Übergabe, -5 wenn der Blob leer oder kein Bild ist, -4 über 32 MB, -2 wenn die Komponente nicht erzeugt ist
of_set_redraw (boolean)Fasst eine Folge von Änderungen zu einer einzigen Darstellung zusammen. Liefert 0 nach der Anwendung, -2 wenn die Komponente nicht erzeugt ist
of_save_as_png (string) · of_save_as_jpg (string)Exportiert die Darstellung als Bild. Liefert 0 nach dem Schreiben des Bildes, -4 wenn das Schreiben fehlschlägt, -2 wenn die Komponente nicht erzeugt ist

Events #

EventAusgelöst wenn
ue_clicked ( )Linksklick auf das Bild — oder Eingabe / Leertaste mit ib_clickable. Das Verschieben des gezoomten Bildes ist kein Klick, und ein Doppelklick löst nur einen aus, wie das native Picture
ue_loaded (long al_width, long al_height)Das Bild ist geladen; die Parameter tragen seine ursprünglichen Maße in Pixeln. Bei einem SVG sind es die Maße, die es angibt (width, height); ein auf 100 % gezeichnetes SVG gibt keine an, und die Engine gibt ihm einen Standardrahmen (150 Pixel hoch, in den Proportionen seiner Zeichnung): Das Verhältnis stimmt, die Größe bedeutet nichts
ue_error (string as_message, string as_reason)Das Bild konnte nicht geladen werden. as_message nennt die Quelle (image load failed : <source>), as_reason sagt warum: REASON_NOT_FOUND (fehlende Datei), REASON_TOO_LARGE (über 32 MB), REASON_INSECURE (eine http://-Adresse, abgelehnt), REASON_UNSUPPORTED (ein Format, das die Komponente nicht anzeigt), REASON_FAILED (alles andere: eine Datei, die sich nicht dekodieren lässt, ein Server, der nicht antwortet)
ue_rclicked ( )Rechtsklick auf das Bild
ue_double_clicked ( )Doppelklick auf das Bild. Ein einziges ue_clicked geht ihm voraus, nie zwei — wie beim nativen Picture. Ist ib_zoomable aktiv, führt der Doppelklick außerdem zur Einpassung zurück: das Ereignis wird in beiden Fällen ausgelöst, seine Bedeutung bestimmen Sie
ue_zoom_changed (double ad_zoom)Der Zoomfaktor hat sich geändert: Mausrad, Doppelklick, die Tasten +, -, 0 und 1, id_zoom oder ein niedrigeres id_max_zoom, von Ihrem Code gesetzt, eine neue is_source oder abgeschaltetes ib_zoomable (zurück auf 1.0) — nichts, wenn der Faktor gleich bleibt, auch nicht bei of_reset. 1.0 heißt: zurück zur Einpassung von is_stretch
ue_auto_height (long al_height)Die Komponente hat sich auf eine neue Höhe festgelegt; das Userobject ist beim Auslösen bereits angepasst. Erfordert ib_auto_height
ue_drop_files (string as_files[])Aus dem Explorer abgelegte Dateien: vollständige Pfade, ein Eintrag je Datei. Erfordert ib_allow_drop
ue_drag_enter ( )Ein Dateiziehen hat die Komponente erreicht (ib_allow_drop)
ue_drag_leave ( )Das Dateiziehen hat die Komponente verlassen
ue_mouse_enter ( )Die Maus tritt ein — erfordert ib_track_mouse = true
ue_mouse_leave ( )Die Maus verlässt den Bereich — erfordert ib_track_mouse = true
ue_ready ( )Die Komponente ist fertig geladen; alles zuvor Gesendete wurde nachgespielt
ue_runtime_missing ( )Die WebView2-Runtime fehlt: die Komponente bleibt leer
ue_bg_color (long al_color)Die Komponente hat ihre Design-Hintergrundfarbe berechnet; das Userobject hat sie bereits übernommen (backcolor)

Beispiele #

Das Foto eines Datensatzes anzeigen #

// Event rowfocuschanged von dw_customer : das Foto des aktuellen Kunden anzeigen
// Local variables
string ls_customer_code

// Der Code des Kunden der neuen Zeile
if currentrow < 1 then return
ls_customer_code = this.GetItemString(currentrow, "customer_code")

// Das Foto fuellt seinen Rahmen ; die Leerzeichen einer CHAR-Spalte werden ignoriert
uo_photo.is_source  = "photos\" + ls_customer_code + ".jpg"
uo_photo.is_stretch = uo_photo.STRETCH_UNIFORMTOFILL
// Einmal, im Event open des Fensters : das Bild, das angezeigt wird, wenn ein Foto fehlt
uo_photo.is_error_source = "img\photo_missing.svg"
// Event ue_error von uo_photo : (string as_message, string as_reason)
// Das Ersatzbild wird bereits angezeigt : hier nur die fehlenden Fotos zaehlen
if as_reason = uo_photo.REASON_NOT_FOUND then
    il_missing_photos = il_missing_photos + 1
end if

is_error_source ist der richtige Weg, um mit einem fehlenden Foto umzugehen: Es ist unnötig, vor der Zuweisung zu prüfen, ob die Datei vorhanden ist. Weisen Sie is_source nie aus ue_error heraus neu zu: Fehlte auch das Ersatzbild, würde der Fehlschlag das Laden endlos neu starten.

Ein in der Datenbank gespeichertes Foto anzeigen #

// Local variables
blob lb_photo

// Das Foto des Mitarbeiters, in einer Spalte der Datenbank gespeichert
SELECTBLOB photo INTO :lb_photo FROM employee WHERE emp_id = 4152 USING SQLCA;

// Direkt aus dem Speicher angezeigt : 0 = uebergeben, -5 = kein Bild
if uo_photo.of_set_picture(/*image*/ lb_photo) <> 0 then
    uo_photo.is_source = ""
end if

Ein anklickbares Bild, wie eine Schaltfläche #

// Das Bild, sein Name fuer Tastatur und Bildschirmleser, und sein Tooltip
uo_avatar.is_source    = "photos\user.png"
uo_avatar.is_alt_text  = "Mein Konto"
uo_avatar.is_tooltip   = "Mein Konto"

// Auch fuer die Tastatur eine Schaltflaeche : Tab erreicht sie, Eingabe oder Leertaste loesen ue_clicked aus
uo_avatar.ib_clickable = true
// Event ue_clicked von uo_avatar
of_open_my_account()

Zähler und Graustufendarstellung #

// Local variables
long ll_unread

// Eine Benachrichtigungs-Plakette auf einem E-Mail-Symbol
ll_unread = 7
uo_mail.is_source = "img\packimages.dll:SVG/MAIL"
uo_mail.ii_badge  = ll_unread       // 0 laesst die Plakette verschwinden

// Rote Plakette oberhalb einer Schwelle, sonst die Farbe des Designs (-1)
if ll_unread > 20 then
    uo_mail.il_badge_color = RGB(/*red*/ 200, /*green*/ 30, /*blue*/ 30)
else
    uo_mail.il_badge_color = -1
end if

// Funktion nicht verfuegbar : das Bild wechselt in Graustufen, ohne zweites Bild
uo_mail.ib_enabled = ib_mail_allowed

Die Graustufendarstellung wird automatisch berechnet: Sie müssen kein zweites, „deaktiviertes“ Bild bereitstellen.

Die tatsächlichen Maße des Bildes erfahren #

// Local variables
string ls_chosen_file, ls_name

// Show the file the user has chosen
if GetFileOpenName("Picture", ls_chosen_file, ls_name, "jpg", "Pictures (*.jpg;*.png),*.jpg;*.png", /*initdir*/ "", OFN_EXPLORER + OFN_NOCHANGEDIR) = 1 then
    uo_preview.is_source = ls_chosen_file
end if
// Event ue_loaded von uo_preview : (long al_width, long al_height)
uo_status.of_panel(/*key*/ "main").is_text = String(al_width) + " x " + String(al_height) + " px"

// Ein Bild, das kleiner als der Rahmen ist : nicht unnoetig vergroessern. Die Bildgroesse ist
// in PIXELN, die des Userobjects in PowerBuilder-Einheiten : in derselben Einheit vergleichen
if al_width < UnitsToPixels(uo_preview.width, XUnitsToPixels!) and al_height < UnitsToPixels(uo_preview.height, YUnitsToPixels!) then
    uo_preview.is_stretch = uo_preview.STRETCH_NONE
end if

Ein Banner über die gesamte Breite #

// Das Bannerbild, das seinen Streifen fuellt
uo_banner.is_source  = "img\banniere.jpg"
uo_banner.is_stretch = uo_banner.STRETCH_UNIFORMTOFILL   // fuellt die ganze Bahn, ohne zu verzerren
uo_banner.is_valign   = uo_banner.VALIGN_TOP               // haelt den oberen Teil des Bildes sichtbar

Best Practices #

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