Zum Inhalt

Arinc429ScreenBuffer.SetControl

Eigenschaft Wert
Modul Inet
Klasse Arinc429ScreenBuffer
Typ Sub
Sichtbarkeit Public
Datei Inet/Arinc429ScreenBuffer.vb

Beschreibung

Setzt ausschliesslich das Steuer-Byte (Farbe + Schriftgroesse) an der angegebenen Position, ohne das Zeichenbyte zu veraendern. Dies ermoeglicht das nachtraegliche Aendern der Darstellungseigenschaften eines bereits geschriebenen Zeichens. Die Position wird im Dirty-Range markiert, damit die Aenderung bei der naechsten differentiellen Nachricht beruecksichtigt wird.

Signatur

Public Sub SetControl(line As Integer, col As Integer, color As McduColor, font As McduFont)

Parameter

Name Typ Beschreibung Standard
line Integer Nullbasierter Zeilenindex (0-12) im 13-zeiligen MCDU-Display --
col Integer Nullbasierter Spaltenindex (0-23) im 24-spaltigen MCDU-Display --
color McduColor Neue Zeichenfarbe --
font McduFont Neue Schriftgroesse (Small=0, Large=128) --

Ablaufdiagramm

flowchart TD
    A[Start] --> B["pos = line * COLUMNS + col"]
    B --> C["_ctrlBuffer(pos) = font Or color"]
    C --> D["_firstChange = Min(_firstChange, pos)"]
    D --> E["_lastChange = Max(_lastChange, pos)"]
    E --> F[Ende]

Aufgerufen von

Modul Sub/Function Kontext
-- -- Derzeit keine direkten Aufrufe im Quellcode gefunden; steht als API fuer nachtraegliche Farbwechsel bereit

Ruft auf

Modul Sub/Function Kontext
System Math.Min Dirty-Range Startposition aktualisieren
System Math.Max Dirty-Range Endposition aktualisieren

Beispiel

Dim buffer As New Arinc429ScreenBuffer()

' Zeichen "A" in Weiss schreiben
buffer.WriteChar(0, 0, CByte(AscW("A"c)), McduColor.White, McduFont.Large)

' Farbe nachtraeglich auf Gruen aendern, Zeichen bleibt "A"
buffer.SetControl(0, 0, McduColor.Green, McduFont.Large)

Aenderungshistorie

Version Datum Aenderung
1.0 2026-04-16 Erstdokumentation