PBToolboxAI v4 ← Site

video — u_pbt_video #

← Komponentenreferenz · Inhalt des Handbuchs

Videoplayer: eine Datei des Arbeitsplatzes — von der DLL gestreamt, ein langer Film startet sofort — oder eine URL, mit der eigenen Transportleiste der Komponente, die dem Thema folgt: Wiedergabe, Suche, Zeit, Stumm, Lautstärke. WebVTT-Untertitel, Poster vor der Wiedergabe, Schleife, Geschwindigkeit, Zuschnitt, Aufnahme des aktuellen Bilds als PNG oder JPEG. Was der Benutzer auf der Leiste tut, weiß Ihre Anwendung.

▶ Live ansehen — Demoanwendung, Kachel Video player: der Film, der Code, der ihn steuert, und diese Seite nebeneinander (Internetverbindung für den Beispielfilm nötig).


Auf einen Blick #

Userobjectu_pbt_video
Item-Klasse— (Komponente ohne Items)
WofürEin Schulungsfilm in der Anwendung, ein Produktvideo, die Wiedergabe einer Aufzeichnung, eine Präsentationsschleife am Stand
PrinzipEin <video> der WebView2-Engine: jedes Format, das sie dekodiert (mp4, webm, m4v, mov, mkv). Die Leiste gehört der Komponente; ihre Gesten laufen über dieselben Verben wie Ihre Aufrufe, also dieselben Ereignisse
AbhängigkeitDie WebView2-Runtime, die die Bibliothek ohnehin braucht — sonst nichts

Schnellstart #

// A film of the workstation, streamed by the DLL : starts at once
uo_video.is_poster = "img\packimages.dll:PNG/COVER"   // shown until the film starts
uo_video.is_subtitles = "films\training.vtt"
uo_video.of_play(/*source*/ "films\training.mp4")

// A URL plays the same way
uo_video.of_play(/*source*/ "https://www.w3schools.com/html/mov_bbb.mp4")

// The user pauses from the bar, or your code does : either way ue_paused fires
uo_video.of_pause()
uo_video.of_seek(/*ms*/ 90000)          // to 1:30, in milliseconds

Alles, was Sie einstellen, ist eine Eigenschaft (is_source, ii_volume, ib_loop…), live von der Komponente gelesen; alles, was Sie tun, ist eine Methode (of_play, of_pause, of_stop, of_seek, of_capture); alles, was geschieht, ist ein Ereignis (ue_started, ue_ended, ue_progress…). Eine fehlende Datei ist keine Ausnahme: ue_failed sagt es, und die Meldung erscheint auf dem Bild.


Eigenschaften #

EigenschaftTypStandardRolle
is_sourcestring""Der Film: eine Datei des Arbeitsplatzes (beliebiger Pfad, gestreamt) oder eine https-URL. Eine http://-Adresse wird abgelehnt (ue_failed, REASON_INSECURE): die Engine stuft sie auf https hoch und scheitert — laden Sie den Film zuerst herunter (restclient, of_download). Formate: mp4, webm, m4v, mov (ein iPhone- oder Kamerafilm in H.264), mkv und die Audioformate; avi, wmv und flv werden an ihrem Namen abgelehnt (REASON_FORMAT). Das Setzen stoppt das Laufende; ib_autoplay entscheidet, ob der neue von selbst startet. Ein Film beliebiger Größe, auch in einer 32-Bit-Anwendung: die DLL streamt ihn in Scheiben, nie die ganze Datei auf einmal; einen Film, den die Engine nicht dekodieren kann, meldet ue_failed. Ein NEUER Film lässt zurück, was zum alten gehörte: seinen Abschnitt, seine Untertitel, Marken und Kapitel (vor jedem Film gesetzt, warten sie auf den ersten); ein Film der Wiedergabeliste behält seine eigenen Untertitel
ib_autoplaybooleanfalseStartet den Film, sobald is_source gesetzt ist; sonst wartet er auf of_play, die Leiste oder die Tastatur und zeigt is_poster
ib_mutedbooleanfalseSchaltet den Ton stumm, Lautstärke bleibt; auch der Leistenknopf und die Taste M setzen es
ii_volumeinteger100Lautstärke in Prozent, 0 bis 100; auch der Schieber der Leiste und die Pfeile auf/ab
ib_loopbooleanfalseSpielt den Film in Schleife bis of_stop; ein Schleifenfilm löst nie ue_ended aus
ii_rateinteger100Geschwindigkeit in Prozent, 25 bis 400: 50 = halb, 200 = doppelt, der Ton folgt
is_stretchstring"uniform"Zuschnitt: STRETCH_NONE, STRETCH_FILL, STRETCH_UNIFORM, STRETCH_UNIFORMTOFILL — die vier Modi eines Bilds
ib_controlsbooleantrueDie Transportleiste der Komponente, im Thema. false blendet sie aus: Ihr Fenster steuert den Film
is_posterstring""Das Poster vor dem Film: Datei, URL oder pack.dll:NAME, wie die Quelle eines Bilds. Ein Präfix mono:/tint:/white:/black: färbt ein einfarbiges Bild aufs Thema um
is_subtitlesstring""Eine Untertiteldatei, lokal oder https-URL: WebVTT (.vtt) oder SubRip (.srt, konvertiert — UTF-8, UTF-16 oder die ANSI-Codepage des Arbeitsplatzes). Eine URL wird von der Komponente HERUNTERGELADEN: ihr Server muss CORS erlauben (GitHub, ein CDN tun es); eine Ablehnung oder eine http://-URL meldet ue_subtitles_failed, und der Film läuft weiter. Eine Spur; of_add_subtitles stapelt mehrere. Sie gehört zum Film: ein neues is_source entfernt sie
is_subtitle_langstring""Die gezeigte Untertitelspur (eine Sprache aus of_add_subtitles); leer = keine
ii_fpsinteger25Bilder pro Sekunde des Films, für of_step_frames
ib_remember_positionbooleanfalseMerkt sich, wo jeder Film verlassen wurde, und setzt beim nächsten of_play derselben Quelle dort fort
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
ib_enabledbooleantruefalse: abgedunkeltes Bild, Leiste und Tastatur inaktiv — außer Escape im Vollbild: man kann es immer verlassen; Ihr Code steuert weiterhin
ib_scrub_previewbooleantrueEine Zeitblase folgt dem Cursor über der Suchleiste (true, Standard), mit dem Kapitel, wenn vorhanden. false blendet sie aus
ib_pause_when_hiddenbooleantruePausiert den Film, wenn die Komponente AUSGEBLENDET wird (eine andere Seite eines PBToolboxAI-Tabs oder -Docks, PBT_SetVisible): ue_paused folgt, und der Film wartet auf of_play, er setzt nie von selbst fort. false lässt ihn laufen (eine Monitorwand). Ein NATIVES PowerBuilder-Tab benachrichtigt die Komponente nicht: rufen Sie of_pause in seinem SelectionChanged auf

Ein Klick auf das Bild pausiert, ein zweiter setzt fort. Tastatur, wenn der Film den Fokus hat: Leertaste oder K Wiedergabe/Pause, ←/→ fünf Sekunden, ↑/↓ Lautstärke, M stumm, Pos1/Ende.


Methoden #

MethodeRolle
of_play ( ) → longSpielt is_source von dort, wo er steht: beim ersten Mal von Anfang, danach ab der Pause (ue_resumed). Gibt 0 nach dem Senden zurück, -2, wenn die Komponente nicht erzeugt ist
of_play (string as_source) → longSetzt is_source und spielt sie: derselbe Aufruf wie beim Sound player. Gibt 0 nach dem Senden zurück, -1 ohne Komponente
of_pause ( ) → longHält den Film an Ort und Stelle an; of_play setzt fort. Gibt 0 zurück, -1 ohne Komponente
of_stop ( )Stoppt den Film und springt an den Anfang; ue_stopped folgt
of_seek (long al_ms) → longSpringt zu einer Position des Films, in Millisekunden, laufend oder nicht; eine lokale Datei sucht sofort. ue_seeked folgt, wie bei der Leiste. Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_is_playing ( ) → booleanWahr, solange ein Film läuft — pausiert eingeschlossen, er ist nicht zu Ende
of_is_paused ( ) → booleanWahr, solange der Film angehalten ist — durch of_pause, die Leiste oder die Tastatur
of_is_buffering ( ) → booleanWahr, solange der Film LÄUFT, aber auf seine Daten wartet — die Zeit, die ue_buffering angekündigt hat. Aus der Komponente gelesen, nie aus einer Kopie
of_duration ( ) → longGibt die Anzahl Millisekunden zurück, die der Film dauert, 0 solange unbekannt
of_position ( ) → longGibt die seit Beginn gespielten Millisekunden zurück; ue_progress liefert sie auch jede Sekunde
of_capture (string as_path) → longSpeichert das jetzt gezeigte Bild in Filmgröße: of_capture(as_path, 0). Die ENDUNG wählt das Format: .jpg oder .jpeg schreibt ein JPEG, alles andere ein PNG; wartet auf das erste dekodierte Bild (höchstens 10 s), kann also direkt auf of_play folgen. Gibt 0 nach dem Schreiben zurück, -4 ohne Film, mit einem Film, der nicht laden konnte, ohne rechtzeitiges Bild, wenn ein Film einer anderen Site seine Pixel verweigert oder wenn die Datei nicht geschrieben werden kann, -5 bei leerem Pfad oder einem, der vom aktuellen Ordner abhängt (\x, C:x), -2 wenn die Komponente nicht erzeugt ist; nach einer negativen Rückgabe sagt of_get_last_error, warum. Ein relativer Pfad wird in den Ordner geschrieben, in dem die Anwendung gestartet ist (der aktuelle Ordner beim Laden der Bibliothek, in der IDE wie kompiliert derselbe)
of_capture (string as_path, long al_max_width) → longDieselbe Aufnahme, VERKLEINERT auf al_max_width Pixel Breite (Höhe proportional): das Vorschaubild eines 4K-Films ist kein 4K-Bild. 0 behält die Filmgröße. Dieselben Rückgaben wie of_capture(as_path)
of_fullscreen (boolean ab_on) → longDer Film auf dem GANZEN Monitor (die DLL verschiebt das Steuerelement in ein eigenes Fenster; Ihr Fenster bleibt unberührt), oder zurück. Über allem, solange es das aktive Fenster ist: Alt+Tab zu einer anderen Anwendung bringt diese nach vorn, und die Rückkehr zu Ihrer Anwendung legt den Film wieder über alles. Doppelklick, die Schaltfläche der Leiste, Escape, Alt+F4. Escape verlässt es auch, wenn ib_enabled falsch ist. Diese Gesten und dieser Aufruf lösen ue_fullscreen_changed aus (of_is_fullscreen liest es). Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_is_fullscreen ( ) → booleanWahr, solange der Film den Monitor bedeckt
of_add_marker (long al_ms, string as_label) → longEine MARKE auf der Leiste: ein klickbarer Strich, und ue_marker_reached, wenn der Film sie passiert. Gibt 0 zurück, -5 bei negativer Position, -2 wenn die Komponente nicht erzeugt ist
of_clear_markers ( ) → longEntfernt alle Marken. Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_marker_count ( ) → longGibt die Zahl der Marken zurück
of_play_range (long al_from_ms, long al_to_ms) → longSpielt EINEN Abschnitt: an seinem Ende ue_ended, oder mit ib_loop beginnt der Abschnitt erneut. Gibt 0 zurück, -5 bei sinnlosen Grenzen, -2 wenn die Komponente nicht erzeugt ist
of_clear_range ( ) → longBefreit den Film von seinem Abschnitt. Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_step_frames (long al_frames) → longBewegt um al_frames Bilder (ii_fps), zurück bei negativ, und pausiert; Tasten . und , auf dem Bild. ue_seeked folgt, wie bei den Tasten. Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_add_source (string as_source) → longFügt einen Film zur WIEDERGABELISTE hinzu: der erste wird is_source (über einem vorher gesetzten Film, außer er LÄUFT: dann folgt die Liste ihm an seinem Ende), die nächsten folgen von selbst (ue_source_changed für jeden folgenden Film, und für den ersten, wenn dieser Aufruf ihn lädt). Gibt 0 zurück, -5 bei leerer Quelle, -2 wenn die Komponente nicht erzeugt ist
of_add_source (string as_source, string as_subtitles) → longFügt einen Film MIT seiner Untertiteldatei hinzu (.vtt oder .srt, von der DLL konvertiert): der Untertitel gehört zu diesem Film und wird nur gezeigt, wenn er läuft. Der einfache, eindeutige Weg, eine Wiedergabeliste zu untertiteln. Gibt 0 zurück, -5 bei leerer Quelle
of_clear_playlist ( ) → longLeert die Liste; der laufende Film geht weiter. Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_next ( ) / of_previous ( ) → longDer nächste oder vorige Film der Liste; of_playlist_index sagt, wo sie steht, und ue_source_changed folgt. Gibt 0 zurück, -2 wenn die Komponente nicht erzeugt ist
of_playlist_count ( ) → longGibt die Zahl der Filme in der Liste zurück
of_playlist_index ( ) → longGibt den Index (ab 1) des laufenden Listenfilms zurück, 0 außerhalb der Liste
of_add_subtitles (string as_lang, string as_source) → longEine Untertitelspur pro Sprache: .vtt, oder .srt konvertiert, vom Arbeitsplatz oder einer https-URL (heruntergeladen: CORS nötig, siehe ue_subtitles_failed). Die CC-Schaltfläche der Leiste schaltet sie durch. Gibt 0 zurück, -5 bei leerer Quelle, einer schon gesetzten Sprache des Films (zuerst of_remove_subtitles) oder einer mit / oder `, -2` wenn die Komponente nicht erzeugt ist
of_remove_subtitles (string as_lang) → longEntfernt die Spur einer Sprache vom gezeigten Film (und vom Film der Liste, der läuft: sie kommt bei of_previous nicht zurück). Die Spur von is_subtitles heißt default. Gibt 0 zurück, -5 für eine Sprache, die der Film nicht trägt, -2 wenn die Komponente nicht erzeugt ist
of_subtitle_count ( ) → longGibt die Zahl der Untertitelspuren zurück
of_remembered_position ( ) → longGibt die Zahl der Millisekunden zurück, bei der is_source verlassen wurde (ib_remember_position), sonst 0
of_has_output ( ) → booleanWahr, wenn der Arbeitsplatz eine Audioausgabe hat
of_add_chapter (long al_ms, string as_title) → longEin KAPITEL (Inhaltsverzeichnis): ue_chapter_changed, wenn die Wiedergabe eintritt. of_go_chapter springt (1-basiert), of_next_chapter / of_previous_chapter durchlaufen (jeder Sprung löst ue_seeked und ue_chapter_changed aus), of_chapter_count / of_chapter_index / of_chapters lesen, of_clear_chapters leert. Gibt 0, -5 bei negativ
of_clear_chapters ( ) → longEntfernt alle Kapitel; Leiste und Vorschaublase vergessen sie. Gibt 0, -2 wenn nicht erzeugt
of_go_chapter (long al_index) → longSpringt zum Kapitel al_index (1-basiert, in der Reihenfolge von of_add_chapter); of_chapter_index liest es sofort, und ue_seeked dann ue_chapter_changed folgen, wie bei einem Klick auf die Leiste. Gibt 0, -5 bei einer Nummer unter 1 oder über of_chapter_count(), -2 wenn die Komponente nicht erzeugt ist
of_next_chapter ( ) → longSpringt zum Kapitel nach der aktuellen Position; of_chapter_index liest es sofort, und ue_seeked dann ue_chapter_changed folgen. Vom letzten Kapitel aus bewegt sich nichts. Gibt 0, -2 wenn nicht erzeugt
of_previous_chapter ( ) → longSpringt zum Kapitel vor dem, in dem sich die Wiedergabe befindet; of_chapter_index liest es sofort, und ue_seeked dann ue_chapter_changed folgen. Vom ersten Kapitel aus bewegt sich nichts. Gibt 0, -2 wenn nicht erzeugt
of_chapter_count ( ) → longGibt die Zahl der Kapitel des Films zurück (of_add_chapter), 0 ohne
of_chapter_index ( ) → longGibt die Nummer (1-basiert) des Kapitels zurück, in dem sich die Wiedergabe befindet, 0 vor dem ersten oder ohne Kapitel. Live gelesen
of_chapters (ref long al_ms[], ref string as_titles[]) → longFüllt die Kapitel der Reihe nach — die Position jedes in ms in al_ms, seinen Titel in as_titles — für ein eigenes Menü; ein Titel darf jedes Zeichen enthalten. Gibt die Zahl zurück, 0 ohne Kapitel
of_picture_in_picture (boolean ab_on) → longDer Film in einem eigenen schwebenden Fenster (true) oder zurück (false); ue_pip_changed folgt, wie wenn der Benutzer das kleine Fenster schließt. of_is_pip sagt, ob er schwebt, of_pip_available, ob der Arbeitsplatz es erlaubt. Gibt 0, -2 wenn nicht erzeugt
of_is_pip ( ) → booleanWahr, solange der Film in seinem Picture-in-Picture-Fenster schwebt; wieder falsch, sobald der Benutzer es schließt
of_pip_available ( ) → booleanWahr, wenn Engine und Arbeitsplatz Picture-in-Picture überhaupt erlauben: vor dem Anbieten der Schaltfläche fragen

Ereignisse #

EreignisWann
ue_started (long al_duration_ms)Der Film startet wirklich; die Länge, wenn die Datei sie nennt, sonst 0
ue_ended (boolean ab_truncated)Der Film ist von selbst zu Ende; ab_truncated wahr, wenn die Demo-Grenze ihn abschnitt
ue_failed (string as_message, string as_reason)Der Film konnte nicht spielen. as_reason sagt es in einem Wort, das Ihr Code prüft: REASON_INSECURE (eine http://-Quelle), REASON_FORMAT (avi, wmv, flv oder ein Format, das die Engine für unspielbar erklärt), REASON_UNSUPPORTED (fehlende Datei oder nicht dekodierbarer Container), REASON_DECODE, REASON_NETWORK, REASON_NO_SOURCE, REASON_FAILED; as_message ist der auf dem Bild gezeigte Text
ue_stopped ( )of_stop hat einen laufenden Film abgebrochen
ue_paused ( ) / ue_resumed ( )Der Film wird angehalten, dann fortgesetzt — durch Ihren Code, die Leiste oder die Tastatur gleichermaßen; auch wenn die Komponente ausgeblendet wird (ib_pause_when_hidden)
ue_progress (long al_position_ms, long al_duration_ms)Einmal pro Sekunde während der Wiedergabe: was eine eigene Fortschrittsleiste braucht, ohne Timer
ue_seeked (long al_position_ms)Die Position hat sich bewegt: der Benutzer (Leiste, Pfeile, Marke) oder Ihr Code — of_seek, of_step_frames und die Kapitelfunktionen lösen es ebenfalls aus, wie die Geste
ue_volume_changed (long al_percent)Der Benutzer hat die Lautstärke gedreht; nie ii_volume
ue_rate_changed (long al_percent)Der Benutzer hat auf der Leiste eine Geschwindigkeit gewählt; nie ii_rate
ue_subtitles_changed (string as_lang)Der Benutzer hat die Untertitel durchgeschaltet (CC); leer = keine
ue_muted_changed (boolean ab_on)Der Benutzer hat den Ton stummgeschaltet (true) oder wieder eingeschaltet (false) — der Lautsprecher der Leiste, die Taste M; nie ib_muted
ue_fullscreen_changed (boolean ab_on)Der Film ist in den Vollbildmodus gewechselt oder zurückgekehrt: Doppelklick, die Schaltfläche, Escape, Alt+F4 oder of_fullscreen. of_reset löst es nie aus
ue_marker_reached (long al_ms, string as_label)Der Film passiert eine Marke
ue_source_changed (long al_index, string as_source)Die Wiedergabeliste wechselt zu einem anderen Film: von selbst, nachdem der vorige geendet hat, oder durch of_next, of_previous und das erste of_add_source
ue_chapter_changed (long al_index, string as_title)Die Wiedergabe tritt in ein anderes Kapitel (of_add_chapter): seine Nummer (1-basiert, 0 vor dem ersten) und sein Titel; auch wenn der Benutzer oder Ihr Code (of_go_chapter, of_next_chapter, of_previous_chapter) dorthin springt
ue_pip_changed (boolean ab_on)Der Film ist in das Picture-in-Picture-Fenster gewechselt (true) oder hat es verlassen (false): der Benutzer hat es geschlossen, die Engine hat den Film von selbst dorthin gelegt, oder of_picture_in_picture hat es verlangt (of_is_pip liest es)
ue_subtitles_failed (string as_lang, string as_reason)Eine Untertiteldatei konnte nicht geladen werden: eine https-URL, deren Server CORS verweigert oder einen Fehler antwortet (REASON_NETWORK, REASON_NOT_FOUND), eine http://-URL (REASON_INSECURE). Die Spur wird entfernt, der Film läuft weiter
ue_buffering (boolean ab_on)Der Film LÄUFT, muss aber länger als eine Viertelsekunde auf seine Daten warten (true) — ein langsames Netz, ein Sprung weit in einen Film einer URL: ein Ring in der Akzentfarbe des Themes dreht sich auf dem Bild — dann endet das Warten (false): der Film läuft weiter oder wurde angehalten, gestoppt, ersetzt oder ist fehlgeschlagen. of_reset löst es nie aus

Vollbild, Marken, Abschnitt, Bild für Bild #

// Chapters on the bar, then one extract in a loop
uo_video.of_add_marker(/*ms*/ 2000, /*label*/ "Intro")
uo_video.of_add_marker(/*ms*/ 5000, /*label*/ "The bunny")
uo_video.ib_loop = true
uo_video.of_play_range(/*from_ms*/ 2000, /*to_ms*/ 8000)

// Surveillance : back one picture at a time
uo_video.ii_fps = 30
uo_video.of_step_frames(/*frames*/ -1)

Wiedergabeliste, Untertitel, Fortsetzen, Formate #

// A playlist, each film WITH its subtitles, the position remembered
uo_video.ib_remember_position = true
uo_video.of_add_source(/*source*/ "intro.mp4", /*subtitles*/ "intro.en.vtt")
uo_video.of_add_source(/*source*/ "lesson-1.mp4", /*subtitles*/ "lesson-1.en.srt")   // .srt : converted by the DLL
uo_video.of_play()

// A second language for the film on screen : it stays with that film
uo_video.of_add_subtitles(/*lang*/ "fr", /*source*/ "intro.fr.vtt")
uo_video.is_subtitle_lang = "fr"

Beispiele #

Eine stumme Präsentationsschleife ohne Leiste #

// A silent showcase film, in a loop, without its bar
uo_video.ib_controls = false
uo_video.ib_muted = true
uo_video.ib_loop = true
uo_video.is_stretch = u_pbt_video.STRETCH_UNIFORMTOFILL
uo_video.of_play(/*source*/ "films\showcase.mp4")

Eigene Knöpfe und eine Fortschrittsleiste #

// cb_play.clicked
if uo_video.of_is_paused() or not uo_video.of_is_playing() then uo_video.of_play() else uo_video.of_pause()

// uo_video.ue_progress : once a second, no timer needed
hpb_progress.Position = al_position_ms * 100 / Max(al_duration_ms, 1)

Ein Vorschaubild des Films für einen Bericht #

// Stop the film on the picture to keep
uo_video.of_play(/*source*/ "films\training.mp4")
uo_video.of_pause()
uo_video.of_seek(/*ms*/ 15000)                 // the frame at 0:15

// of_capture waits for the picture itself (10 s at most) : no timer to write.
// A .jpg path writes a JPEG ; 320 : a thumbnail 320 pixels wide.
// A relative path goes to the folder the application started in.
if uo_video.of_capture(/*path*/ "C:\Reports\training.jpg", /*max_width*/ 320) < 0 then MessageBox("Capture", uo_video.of_get_last_error())

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