Multi Dlg
Zuletzt geändert: 15.05.2026 14:28

MultiDlg #

Der MultiDlg ist ein universeller Eingabedialog mit vertikalem Property-Grid. Er ermöglicht die Abfrage beliebig vieler Felder unterschiedlicher Typen (Text, Zahlen, Datum, Combos, Farben, Bilder u.v.m.) in einem einzigen Dialog. Felder können in Kategorien gruppiert werden. Der Dialog unterstützt Drucken, Excel-Export und eine integrierte HTML-Hilfe.

Der MultiDlg ist komplett unabhängig von der Datenbankstruktur. Er kann bestehende Datenbankfelder in anderer Sichtweise anzeigen oder eigene Zusatzfelder aus getrennten Tabellen editieren. Über das Dataset-Objekt lässt sich die Maske mit dem am Bildschirm angezeigten Datensatz synchronisieren (z.B. über Dataset.RefreshCurrent nach dem Schließen des Dialogs).

Der MultiDlg steht auch im Berichts-Designer in Pascal-Script zur Verfügung.

Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "MeineInstanz")
var Dialog = Client.CreateDialog("Eulanda.MultiDlg", "MeineInstanz");

Der zweite Parameter (Instance) steuert die Speicherung des Fensterzustands. Dialoge mit unterschiedlichen Instanznamen merken sich Position und Spaltenbreiten getrennt.

Schnelleinstieg #

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Kundendaten"
  .SubTitle = "Bitte die Daten eingeben"
  .IconUrl = "folder"
  .GridLines = 3  ' eulGridLinesBoth

  .AddField "Vorname", "String", "Max", ""
  .AddField "Nachname", "String", "Mustermann", ""
  .AddField "Alter", "Integer", 42, ""
  .AddField "Aktiv", "Boolean", True, ""

  If .Execute Then
    MsgBox "Vorname: " & .Values("Vorname") & vbCrLf & _
           "Nachname: " & .Values("Nachname") & vbCrLf & _
           "Alter: " & CStr(.Values("Alter"))
  End If
End With

Set Dialog = Nothing

Übersicht #

Eigenschaften #

EigenschaftTypStandardBeschreibung
TitleStringTitel im Kopfbereich (groß, fett)
SubTitleStringUntertitel im Kopfbereich
CaptionString"Eingabedialog"Fenstertitel in der Titelleiste
IconUrlStringSymbol im Kopfbereich (z.B. "folder", "gearwheel")
GridLinesInteger0Gitterlinien (siehe Konstanten)
HeightIntegerautoDialoghöhe in Zeilen (je 18 Pixel)
HelpStringHTML-Hilfe oder URL im unteren Bereich (eingebetteter WebView)
HtmlHelpStringAlias für Help
HtmlHelpHeightInteger0Höhe des Hilfebereichs in Pixeln
HelpUrlStringExterne URL für „Hilfe"-Button, öffnet im Standardbrowser (seit MinorVersion 4)
HelpCaptionString"Hilfe"Beschriftung des „Hilfe"-Buttons (seit MinorVersion 4)
ExplorerStyleBooleanFalseExplorer-Stil für Kategorien
DotNetStyleBooleanFalseDotNet-Darstellung
FlowStyleBooleanFalseBand-Layout (mehrere Spalten)
MajorVersionInteger2Hauptversion (nur lesen)
MinorVersionInteger4Nebenversion (nur lesen)
DeletePressedBooleanFalseTrue wenn Löschen gedrückt wurde (nur lesen)

Button-Eigenschaften #

EigenschaftTypStandardBeschreibung
OkVisibleBooleanTrueOK-Button anzeigen
OkCaptionString"Übernehmen"Beschriftung OK-Button
CancelVisibleBooleanTrueAbbrechen-Button anzeigen
CancelCaptionString"Verwerfen"Beschriftung Abbrechen-Button
DeleteVisibleBooleanFalseLöschen-Button anzeigen
DeleteCaptionString"Löschen"Beschriftung Löschen-Button
PrintVisibleBooleanFalseDrucken-Button anzeigen
PrintCaptionString"Drucken"Beschriftung Drucken-Button
PrintPreviewVisibleBooleanFalseVorschau im Kontextmenü
PrintPreviewCaptionString"Vorschau"Beschriftung Vorschau
ExportVisibleBooleanFalseExport-Button anzeigen
ExportCaptionString"Exportieren"Beschriftung Export-Button

Druck- und Export-Eigenschaften #

EigenschaftTypStandardBeschreibung
ReportTitleString(= Caption)Titel im Druckbericht
PrintJobTitleString(= Caption)Name des Druckauftrags
ExportFileNameStringDesktop + Caption + .xlsStandard-Dateiname für Excel-Export
UserNameVisibleBooleanFalseBenutzername im Druckkopf anzeigen
DateVisibleBooleanTrueDatum im Druckkopf anzeigen
PageNoVisibleBooleanTrueSeitenzahlen im Druckfuß anzeigen

Methoden #

MethodeRückgabeBeschreibung
AddCategory(Caption)Kategorie (Abschnitt) hinzufügen
AddField(Name, Typ, Default, Hint)Eingabefeld hinzufügen
AddFieldItem(Name, Item)Eintrag zu Combo/Radio hinzufügen
SetOption(Name, Option, Wert)Feldoption setzen
SetValue(Name, Wert)Feldwert setzen
Values(Name)VariantFeldwert lesen
SetHints(Name, Text)Tooltip setzen
Hints(Name)StringTooltip lesen
ExecuteBooleanDialog anzeigen (True = OK)
LoadState(Version)Gespeicherten Zustand laden
SaveStateAktuellen Zustand speichern
ExpandAllAlle Kategorien aufklappen
CollapseAllAlle Kategorien zuklappen
ClearAlle Felder entfernen
SampleDemo-Daten einfügen
AddHandler(Handler)Event-Handler registrieren
AddButton(Name, Title)ObjectBenutzerdefinierten Button hinzufügen
Buttons(Index)ObjectButton nach Index abrufen
ButtonCountIntegerAnzahl benutzerdefinierter Buttons
NativeFieldType(Typ)StringNativen Datentyp eines Feldtyps ermitteln
StrToFilename(Text)StringText in gültigen Dateinamen umwandeln

Feldtypen #

Der zweite Parameter von AddField bestimmt den Typ des Eingabefeldes.

Standard-Typen #

TypWert in VBSEditorBeschreibung
"String"StringTexteingabeEinzeiliger Text
"Memo"StringMehrzeiligMehrzeiliger Text (Blob-Editor)
"Integer"IntegerZahleneingabeGanzzahl
"Float"DoubleDezimaleingabeDezimalzahl (2 Nachkommastellen)
"Currency"CurrencyWährungWährungsbetrag
"Calc"DoubleTaschenrechnerZahl mit Rechner-Popup
"Boolean"BooleanCheckboxWahr/Falsch
"DateTime"DateKalender + UhrDatum und Uhrzeit
"Date"DateKalenderNur Datum (mit Kalenderwochen)
"Time"DateZeiteingabeNur Uhrzeit
"Combo"StringDropdownAuswahlliste (siehe AddFieldItem)
"Radio"IntegerRadiogruppeOptionsschalter (0-basiert)
"Spin"IntegerDrehfeldZahl mit Hoch/Runter-Buttons
"Track"IntegerSchiebereglerSlider (Standard: 0-100)
"Color"IntegerFarbauswahlFarbwähler mit Palette
"Font"StringSchriftauswahlDropdown mit Schriftarten
"Shell"StringOrdnerauswahlDatei-/Ordner-Browser
"Image"VariantBildfeldBild-Anzeige und -Auswahl

Typ-Modifikatoren (Prefix) #

Feldtypen können mit Präfixen kombiniert werden:

PräfixSyntaxBeschreibung
+"+String"Feld wird Unterelement der letzten Kategorie
Gruppe."Addr.String"Felder mit gleicher Gruppe erscheinen in einer Zeile
Kombination"+Addr.String"Beides kombiniert

Feldname mit Anzeigename #

Der Feldname kann über @ in Anzeigename und internen Schlüssel getrennt werden:

.AddField "Anzeigename@InternerKey", "String", "", ""

Ohne @ wird der Feldname sowohl als Anzeige als auch als Schlüssel verwendet.

Methoden im Detail #

AddCategory #

AddCategory(Caption: String)

Fügt eine Kategorie-Überschrift ein. Alle folgenden Felder mit +-Präfix im Typ werden dieser Kategorie untergeordnet.

.AddCategory "Adresse"
.AddField "Strasse", "+String", "", ""
.AddField "PLZ", "+String", "", ""
.AddField "Ort", "+String", "", ""

AddField #

AddField(Name: String, Typ: String, Default: Variant, Hint: String)
ParameterBeschreibung
NameFeldname (oder "Anzeige@Schlüssel")
TypFeldtyp (siehe Tabelle oben), optional mit Präfix
DefaultVorgabewert (Null für leer)
HintTooltip-Text (leerer String für keinen Tooltip)

AddFieldItem #

AddFieldItem(Name: String, Item: String)

Fügt einen Eintrag zu einem Combo-, Radio- oder Color-Feld hinzu. Muss nach AddField aufgerufen werden.

.AddField "Land@Country", "Combo", "DE", ""
.AddFieldItem "Country", "DE"
.AddFieldItem "Country", "AT"
.AddFieldItem "Country", "CH"

SetOption #

SetOption(Name: String, Option: String, Wert: Variant)

Setzt eine Feldoption. Verfügbare Optionen:

OptionGilt fürWertBeschreibung
"FIXED"ComboDropdown nicht editierbar
"EDIT"ComboDropdown editierbar (Freitext möglich)
"READONLY"Alle1/0Schreibschutz
"HEIGHT"AlleIntegerZeilenhöhe (Vielfaches von 17px)
"HIDEFIELDNAME"Alle1/0Feldbezeichnung ausblenden
"DECIMALS"Float, CalcIntegerNachkommastellen: 0 = keine, 1-6 = fest, >6 = Fließkomma
"SEPARATOR"Float, Calc, Integer1/0Tausendertrennzeichen (Standard: 1 = aktiv)
"COLORSET"ColorStringFarbpalette ("DELPHI", "HTML", "X11")
"INLINE"ImageBild in Originalgröße anzeigen
"ICON"ImageBild als Symbol anzeigen
"EXPAND"KategorieKategorie aufklappen
"COLLAPSE"KategorieKategorie zuklappen

Values #

Values(Name: String): Variant

Liest den Wert eines Feldes nach Ausführung des Dialogs. Der Name muss dem internen Schlüssel entsprechen (bei @-Syntax der Teil nach dem @).

Execute #

Execute: Boolean

Zeigt den Dialog modal an. Gibt True zurück, wenn der Benutzer “Übernehmen” klickt, False bei “Verwerfen” oder Schließen.

Tastenkürzel: Strg+Enter = Übernehmen, Esc = Verwerfen.

LoadState / SaveState #

LoadState(StateVersion: Integer)
SaveState

LoadState lädt einen gespeicherten Dialogzustand (Spaltenbreiten, auf-/zugeklappte Kategorien). Der Parameter StateVersion stellt sicher, dass bei Änderungen am Feldlayout ein veralteter Zustand nicht geladen wird. Wenn LoadState aufgerufen wurde, wird der Zustand beim Schließen automatisch gespeichert.

Konstanten #

GridLines #

WertRAP-KonstanteBeschreibung
0vglNoneKeine Gitterlinien
1vglHorizontalNur horizontal
2vglVerticalNur vertikal
3vglBothHorizontal und vertikal

In VBScript/JavaScript als Integer verwenden. In RAP-Scripten stehen die Konstanten auch über consts.eulGridLinesBoth etc. zur Verfügung.

Event-Handler #

Der Dialog unterstützt Event-Handler über AddHandler. Das Handler-Objekt kann folgende Ereignisse implementieren:

EreignisAuslöserBeschreibung
Dialog_OnConnectNach Erstellung, vor AnzeigeInitialisierung
Dialog_OnDisconnectNach SchließenAufräumen
<ButtonName>_OnClickKlick auf benutzerdefinierten ButtonButton-Aktion

Beispiele #

A. Einfacher Eingabedialog (VBScript) #

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Neuer Artikel"
  .SubTitle = "Artikeldaten eingeben"
  .IconUrl = "gearwheel"
  .GridLines = 3

  .AddField "Artikelnummer@ArtNr", "String", "", "Die eindeutige Artikelnummer"
  .AddField "Bezeichnung@Bez", "String", "", ""
  .AddField "Preis", "Float", 0, "Verkaufspreis in EUR"
  .AddField "Aktiv", "Boolean", True, ""

  If .Execute Then
    MsgBox .Values("ArtNr") & " - " & .Values("Bez") & _
           " - " & CStr(.Values("Preis")) & " EUR"
  End If
End With

Set Dialog = Nothing

B. Kategorien und Combos (VBScript) #

Option Explicit

Dim Dialog, StateVersion
Randomize
StateVersion = CInt(Rnd * 1000)

Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "Bestellung")

With Dialog
  .Title = "Bestellung"
  .SubTitle = "Versandoptionen konfigurieren"
  .IconUrl = "folder"
  .GridLines = 3
  .LoadState StateVersion

  .AddCategory "Versand"
  .AddField "Versandart@Versand", "+Combo", "Standard", ""
  .AddFieldItem "Versand", "Standard"
  .AddFieldItem "Versand", "Express"
  .AddFieldItem "Versand", "Abholung"
  .SetOption "Versand", "FIXED", 0

  .AddField "Lieferdatum@Datum", "+Date", Now, ""
  .AddField "Anmerkung@Notiz", "+Memo", "", "Optionaler Hinweis"
  .SetOption "Notiz", "HEIGHT", 3

  .AddCategory "Zahlung"
  .AddField "Zahlart@Zahl", "+Radio", 0, ""
  .AddFieldItem "Zahl", "Rechnung"
  .AddFieldItem "Zahl", "Vorkasse"
  .AddFieldItem "Zahl", "Nachnahme"

  .AddField "Rabatt@Rabatt", "+Track", 0, "Rabatt in Prozent"

  If .Execute Then
    MsgBox "Versand: " & .Values("Versand") & vbCrLf & _
           "Datum: " & CStr(.Values("Datum")) & vbCrLf & _
           "Zahlart: " & CStr(.Values("Zahl")) & vbCrLf & _
           "Rabatt: " & CStr(.Values("Rabatt")) & "%"
  End If
End With

Set Dialog = Nothing

C. Dialog mit Drucken und Export (VBScript) #

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "Report")

With Dialog
  .Title = "Lagerbestand"
  .Caption = "Lagerbestand"
  .GridLines = 3
  .PrintVisible = True
  .ExportVisible = True
  .ReportTitle = "Lagerbestand - Übersicht"
  .ExportFileName = "Lagerbestand.xls"
  .DateVisible = True
  .PageNoVisible = True

  .AddField "Artikel", "String", "Widget A", ""
  .AddField "Bestand", "Integer", 150, ""
  .AddField "Mindestbestand", "Integer", 50, ""

  .Execute
End With

Set Dialog = Nothing

D. Einfacher Dialog (JavaScript) #

var Dialog = Client.CreateDialog("Eulanda.MultiDlg", "");

Dialog.Title = "Einstellungen";
Dialog.SubTitle = "Konfiguration anpassen";
Dialog.GridLines = 3;

Dialog.AddField("Name", "String", "", "");
Dialog.AddField("Alter", "Integer", 30, "");
Dialog.AddField("Farbe", "Color", 0, "Lieblingsfarbe");
Dialog.SetOption("Farbe", "COLORSET", "HTML");

if (Dialog.Execute()) {
  Client.MsgBox("Name: " + Dialog.Values("Name") +
    "\nAlter: " + Dialog.Values("Alter"));
}

Dialog = null;

E. Felder in einer Zeile gruppieren (VBScript) #

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Adresse"
  .GridLines = 3

  .AddField "Vorname", "Name.String", "", ""
  .AddField "Nachname", "Name.String", "", ""
  .AddField "PLZ", "Ort.String", "", ""
  .AddField "Stadt", "Ort.String", "", ""

  .Execute
End With

Set Dialog = Nothing

Felder mit demselben Gruppennamen (hier Name und Ort) werden in einer Zeile nebeneinander dargestellt.

F. Externer Zugriff über COM (VBScript ohne EULANDA-Host) #

Wenn ein VBScript außerhalb der EULANDA-Anwendung läuft, kann der MultiDlg über die COM-Schnittstelle instanziert werden:

Option Explicit

Dim App, Lib, Client

' EULANDA-Application instanzieren
Set App = CreateObject("Eulanda.Application")
App.UDL = "C:\Users\Public\EULANDA_1 PluginsLokal.udl"
App.Open

Set Lib = App.ellib
Set Client = App.Client

' Dialog wie gewohnt verwenden
Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Externer Zugriff"
  .SubTitle = "Dialog wird von externem VBScript aufgerufen"
  .GridLines = 3

  .AddField "Bemerkung", "String", "", ""
  .AddField "Datum", "Date", Now, ""

  If .Execute Then
    MsgBox "Eingabe: " & .Values("Bemerkung")
  End If
End With

Set Dialog = Nothing

' Aufräumen
App.Close
Set Client = Nothing
Set Lib = Nothing
Set App = Nothing

Hinweis: Für den externen Zugriff muss EULANDA® auf dem System installiert und eine gültige UDL-Datei vorhanden sein. Die Eulanda.Application-Klasse stellt Client, ellib und weitere Objekte bereit.

G. Event-Handler mit benutzerdefiniertem Button (VBScript) #

Option Explicit

' Handler-Klasse definieren
Class MyHandler
  Public objDialog

  Sub Dialog_OnConnect()
    ' Wird beim Verbinden aufgerufen
  End Sub

  Sub Berechnen_OnClick()
    ' Wird beim Klick auf den Button "Berechnen" aufgerufen
    Dim Preis, Menge
    Preis = objDialog.Values("Preis")
    Menge = objDialog.Values("Menge")
    objDialog.SetValue "Gesamt", Preis * Menge
  End Sub
End Class

Dim Dialog, Handler
Set Handler = New MyHandler
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Kalkulation"
  .GridLines = 3

  .AddField "Preis", "Float", 10.0, ""
  .AddField "Menge", "Integer", 1, ""
  .AddField "Gesamt", "Float", 0, ""
  .SetOption "Gesamt", "READONLY", 1

  .AddButton "Berechnen", "Berechnen"
  .AddHandler Handler

  .Execute
End With

Set Dialog = Nothing
Set Handler = Nothing

H. Hilfe-Button mit externer Doku (VBScript) #

Seit MinorVersion 4 blendet HelpUrl einen zusätzlichen „Hilfe"-Button links neben Drucken/Exportieren ein. Ein Klick öffnet die URL im Standardbrowser (Edge, Chrome, Firefox) — nicht im eingebetteten WebView. Damit sind Browser-Features wie Zoom, Bookmarks und Tabs verfügbar, und moderne Doku-Seiten (Hugo, Docusaurus etc.) rendern zuverlässig in allen EULANDA-Versionen — auch wo der eingebettete Browser noch auf IE-Engine basiert.

HelpUrl ist eine Alternative zum Property Help, das den Hilfe-Inhalt im Dialog selbst einbettet und den Feldbereich verkleinert. Beide lassen sich kombinieren.

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Einstellungen XRechnung"
  .SubTitle = "Konfiguration des XFacture-Plugins"
  .IconUrl = "gearwheel"
  .GridLines = 3

  .HelpUrl = "https://doc.eulanda.eu/de/docs/PlugIn-Module/Zugferd-XRechnung/Einstellungen-System/"
  ' Optional: Button-Beschriftung anpassen
  ' .HelpCaption = "Online-Doku"

  .AddField "Aktiv@Active", "Boolean", True, "Plugin aktivieren"
  .AddField "Pfad@OutPath", "String", "C:\Export", "Zielordner"

  If .Execute Then
    MsgBox "Aktiv: " & .Values("Active") & vbCrLf & _
           "Pfad: "  & .Values("OutPath")
  End If
End With

Set Dialog = Nothing

I. Forward-Compatible mit älteren EULANDA-Versionen (VBScript) #

Plugins, die HelpUrl nutzen aber auch auf älteren EULANDA-Installationen laufen sollen, prüfen entweder MinorVersion oder fangen die Zuweisung per On Error Resume Next ab. Beide Pattern liefern den Hilfe-Button auf neuer EULANDA und sind auf alter EULANDA unauffällige No-Ops.

Variante 1 — MinorVersion-Check (empfohlen, Eulanda-Konvention):

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

With Dialog
  .Title = "Einstellungen"
  .GridLines = 3

  ' Hilfe-Button nur setzen wenn MultiDlg neu genug — sonst silently ignoriert
  If .MinorVersion >= 4 Then
    .HelpUrl = "https://doc.eulanda.eu/de/docs/..."
  End If

  .AddField "Wert", "String", "", ""
  .Execute
End With

Set Dialog = Nothing

Variante 2 — On Error Resume Next (kompakter, weniger explizit):

Option Explicit

Dim Dialog
Set Dialog = Client.CreateDialog("Eulanda.MultiDlg", "")

On Error Resume Next
  Dialog.HelpUrl = "https://doc.eulanda.eu/de/docs/..."
  If Err.Number <> 0 And Err.Number <> 438 Then
    On Error Goto 0
    Err.Raise Err.Number, Err.Source, Err.Description  ' echten Fehler durchreichen
  End If
  Err.Clear
On Error Goto 0

With Dialog
  .Title = "Einstellungen"
  .GridLines = 3

  .AddField "Wert", "String", "", ""
  .Execute
End With

Set Dialog = Nothing

Err.Number = 438 ist konkret „Objekt unterstützt diese Eigenschaft oder Methode nicht" — alte EULANDA-Installationen ohne HelpUrl liefern genau diesen Fehler, andere Fehler werden weiterhin nach oben gereicht. Die MinorVersion-Variante ist im Quelltext selbstdokumentierend und Konvention in den cnsoft.modules.*-Plugins; die On Error-Variante ist handlicher wenn mehrere optionale Properties auf einmal probiert werden.

NativeFieldType #

NativeFieldType(Typ: String): String

Gibt den nativen Datentyp zurück, der einem Feldtyp zugrunde liegt. Beispiele: "Combo" liefert "String", "Time" liefert "DateTime", "Color" liefert "Integer".

StrToFilename #

StrToFilename(Text: String): String

Wandelt einen beliebigen String in einen gültigen Dateinamen um. Es dürfen keine Laufwerke, Pfadangaben oder Extensions enthalten sein – nur der reine Dateiname.

Integration in EULANDA #

Wenn ein MultiDlg-Script fertig entwickelt ist, kann es in der SQL-Registry unter ROOT\OBJECTS\Dataobjects\<Abschnitt>\Actions abgelegt werden. Dort lässt sich zusätzlich ein Menütitel, ein Icon sowie ein Tastenkürzel (Shortcut) eintragen. So wird der Dialog in die Werkzeugleiste, Menüs, Infosysteme oder Kurzinfosysteme integriert.

Über das Dataset-Objekt lässt sich der Dialog mit dem aktuellen Bildschirm-Datensatz synchronisieren. Werte die über den MultiDlg direkt in den SQL-Server geschrieben werden, lassen sich über Dataset.RefreshCurrent nach dem Schließen des Dialogs in der Hauptmaske sichtbar machen.

Farbreferenz #

Der Feldtyp Color kann über SetOption "FeldName", "COLORSET", "..." mit verschiedenen Farbpaletten geladen werden. Zusätzlich können über AddFieldItem benutzerdefinierte Farben als "FarbName;Anzeigename" hinzugefügt werden.

Verfügbare ColorSets #

ColorSetBeschreibung
"DELPHI"Standard-Farben (16 Grundfarben)
"USER"Benutzerdefinierte Farben (via AddFieldItem)
"HTML"Netscape/HTML-Farben (140+ benannte Farben)
"X11"X11-Farben (alphabetisch)
"X11SORT"X11-Farben (nach Farbton sortiert)

Standard-Farben (DELPHI) #

Black, Maroon, Green, Olive, Navy, Purple, Teal, Gray, Silver, Red, Lime, Yellow, Blue, Fuchsia, Aqua, White, MoneyGreen, SkyBlue, Cream, MedGray.

Absolute Farben #

Farben können auch als Hexadezimalwert angegeben werden: #RRGGBB. Beispiele: #FFFFFF = Weiß, #000000 = Schwarz, #FF0000 = Rot.

.AddField "Farbe", "Color", 0, ""
.SetOption "Farbe", "ColorSet", "User"
.AddFieldItem "Farbe", "#FF6600;Mein Orange"
.AddFieldItem "Farbe", "Red;Standardrot"

Dialogaufbau #

graph TB Top["Kopfbereich
Title · SubTitle · IconUrl"] Grid["Vertikales Property-Grid
Felder · Kategorien · Unterfelder"] HelpArea["Hilfebereich
optional, wenn .Help gesetzt — eingebetteter WebView"] Btns["Button-Zeile
[Hilfe] [Drucken] [Export] ... [Löschen] [Übernehmen] [Verwerfen]"] Top --> Grid Grid --> HelpArea HelpArea --> Btns style Top fill:#2e86c1,color:#fff style Grid fill:#27ae60,color:#fff style HelpArea fill:#e67e22,color:#fff style Btns fill:#8e44ad,color:#fff

Der „Hilfe"-Button auf der linken Seite ist nur sichtbar, wenn HelpUrl gesetzt ist. Drucken/Export erscheinen je nach PrintVisible/ExportVisible. Der Hilfebereich (eingebetteter WebView) wird durch Help bzw. HtmlHelp aktiviert und ist unabhängig vom HelpUrl-Button.

Siehe auch #