====== Steuerelemente ====== Vega bringt 54 Steuerelementklassen mit (113 Klassen in 53 Units). Diese Seite ist die Übersicht; die **Detailseiten** beschreiben je Element Einleitung, Verwendung, Besonderheiten und die Tabellen für Eigenschaften, Methoden und Ereignisse. Alles, was jedes Element kann — Geometrie, ''Align'', Zustand, Schrift, Ereignisse —, steht einmal bei [[lyx_-_programmiersprache:vega:controls:tcontrol|TControl]]; Besitz, Name und Tag darüber bei [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]]. Wer wissen will, **welche Datei** was enthält und woran sie hängt, findet das bei den [[lyx_-_programmiersprache:vega:units|Units]]. ===== Detailseiten ===== ^ Element ^ Unit ^ Kurz ^ | [[lyx_-_programmiersprache:vega:controls:tcomponent|TComponent]] | ''Vega.Component'' | Wurzel aller Objekte: Besitz, Name, Tag, Zustand, Tick | | [[lyx_-_programmiersprache:vega:controls:tcontrol|TControl]] | ''Vega.Control'' | Basis aller sichtbaren Elemente, zugleich roher Container | | [[lyx_-_programmiersprache:vega:controls:tlabel|TLabel]] | ''Vega.StdCtrls'' | Beschriftung, ohne Eingabe | | [[lyx_-_programmiersprache:vega:controls:tbutton|TButton]] | ''Vega.StdCtrls'' | Knopf mit ''OnClick'', ''ModalResult'' | | [[lyx_-_programmiersprache:vega:controls:tpanel|TPanel]] | ''Vega.StdCtrls'' | Container mit Rahmen | | [[lyx_-_programmiersprache:vega:controls:tgroupbox|TGroupBox]] | ''Vega.StdCtrls'' | Beschrifteter Rahmen, Gruppe für Auswahlknöpfe | | [[lyx_-_programmiersprache:vega:controls:tcheckbox|TCheckBox]] | ''Vega.StdCtrls'' | Schalter, wahlweise dreistufig | | [[lyx_-_programmiersprache:vega:controls:tradiobutton|TRadioButton]] | ''Vega.StdCtrls'' | Auswahlknopf, Gruppe = Elternteil | | [[lyx_-_programmiersprache:vega:controls:tprogressbar|TProgressBar]] | ''Vega.StdCtrls'' | Fortschrittsanzeige | | [[lyx_-_programmiersprache:vega:controls:tcustomedit|TCustomEdit]] | ''Vega.Edits'' | Grundlage der Eingabefelder | | [[lyx_-_programmiersprache:vega:controls:tedit|TEdit]] | ''Vega.Edits'' | Einzeiliges Eingabefeld | | [[lyx_-_programmiersprache:vega:controls:tmemo|TMemo]] | ''Vega.Edits'' | Mehrzeiliges Eingabefeld | | [[lyx_-_programmiersprache:vega:controls:tlistbox|TListBox]] | ''Vega.ListCtrls'' | Liste mit Auswahl | | [[lyx_-_programmiersprache:vega:controls:tcombobox|TComboBox]] | ''Vega.ListCtrls'' | Eingeklappte Auswahlliste | | [[lyx_-_programmiersprache:vega:controls:tscrollbar|TScrollBar]] | ''Vega.ListCtrls'' | Bildlaufleiste | | [[lyx_-_programmiersprache:vega:controls:ttrackbar|TTrackBar]] | ''Vega.ExtCtrls'' | Schieberegler | | [[lyx_-_programmiersprache:vega:controls:tspinedit|TSpinEdit]] | ''Vega.ExtCtrls'' | Zahlenfeld mit Pfeilen | | [[lyx_-_programmiersprache:vega:controls:tpagecontrol|TPageControl]] | ''Vega.ExtCtrls'' | Registerkarten mit Seiten | | [[lyx_-_programmiersprache:vega:controls:ttabsheet|TTabSheet]] | ''Vega.ExtCtrls'' | Eine Seite darin | | [[lyx_-_programmiersprache:vega:controls:ttabcontrol|TTabControl]] | ''Vega.ExtCtrls'' | Reiter über einer gemeinsamen Fläche | | [[lyx_-_programmiersprache:vega:controls:tstatictext|TStaticText]] | ''Vega.Extras'' | Text mit Rahmen | | [[lyx_-_programmiersprache:vega:controls:tbevel|TBevel]] | ''Vega.Extras'' | Trennlinie, Rahmen | | [[lyx_-_programmiersprache:vega:controls:tshape|TShape]] | ''Vega.Extras'' | Rechteck, Ellipse, Kreis | | [[lyx_-_programmiersprache:vega:controls:tspeedbutton|TSpeedButton]] | ''Vega.Extras'' | Flacher Knopf, gruppierbar | | [[lyx_-_programmiersprache:vega:controls:tcustombutton|TCustomButton]] | ''Vega.StdCtrls'' | Grundlage der Bildknöpfe: Glyph, Layout, Zustände | | [[lyx_-_programmiersprache:vega:controls:tbitbtn|TBitBtn]] | ''Vega.Extras'' | Knopf mit Symbol und Standardrolle | | [[lyx_-_programmiersprache:vega:controls:tradiogroup|TRadioGroup]] | ''Vega.Extras'' | Auswahlgruppe mit eigenen Einträgen | | [[lyx_-_programmiersprache:vega:controls:tchecklistbox|TCheckListBox]] | ''Vega.Extras'' | Liste mit Kästchen | | [[lyx_-_programmiersprache:vega:controls:tupdown|TUpDown]] | ''Vega.Extras'' | Pfeilpaar ohne Eingabefeld | | [[lyx_-_programmiersprache:vega:controls:tpaintbox|TPaintBox]] | ''Vega.Extras'' | Fläche zum Selberzeichnen | | [[lyx_-_programmiersprache:vega:controls:tform|TForm]] | ''Vega.Forms'' | Fenster | | [[lyx_-_programmiersprache:vega:controls:tapplication|TApplication]] | ''Vega.Forms'' | Die Anwendung, Ereignisschleife | | [[lyx_-_programmiersprache:vega:controls:ttimer|TTimer]] | ''Vega.Forms'' | Zeitgeber | | [[lyx_-_programmiersprache:vega:controls:tlistview|TListView]] | ''Vega.ListView'' | Liste mit Spalten, Sortieren, Kästchen, Symbolen | | [[lyx_-_programmiersprache:vega:controls:tlistcolumn|TListColumn]] | ''Vega.ListView'' | Eine Spalte darin | | [[lyx_-_programmiersprache:vega:controls:tlistitem|TListItem]] | ''Vega.ListView'' | Ein Eintrag darin | | [[lyx_-_programmiersprache:vega:controls:theadercontrol|THeaderControl]] | ''Vega.ListView'' | Spaltenkopf allein, zum Ziehen und Sortieren | | [[lyx_-_programmiersprache:vega:controls:ttreeview|TTreeView]] | ''Vega.Trees'' | Baum mit Symbolen und Auswahlsymbol je Knoten | | [[lyx_-_programmiersprache:vega:controls:ttreenode|TTreeNode]] | ''Vega.Trees'' | Ein Knoten darin | | [[lyx_-_programmiersprache:vega:controls:tstringgrid|TStringGrid]] | ''Vega.Grids'' | Tabelle mit Zellen, ''OnDrawCell'' | | [[lyx_-_programmiersprache:vega:controls:timage|TImage]] | ''Vega.Images'' | Bildanzeige | | [[lyx_-_programmiersprache:vega:controls:timagelist|TImageList]] | ''Vega.Images'' | Sammlung gleich großer Symbole | | [[lyx_-_programmiersprache:vega:controls:tbitmap|TBitmap]] | ''Vega.Picture'' | Bild im Speicher, 32 Bit je Pixel | | [[lyx_-_programmiersprache:vega:controls:tmonthcalendar|TMonthCalendar]] | ''Vega.Calendar'' | Monatskalender samt Datumsrechnung | | [[lyx_-_programmiersprache:vega:controls:tcustomeditbutton|TCustomEditButton]] | ''Vega.EditBtn'' | Eingabefeld mit Knopf, Basis der drei folgenden | | [[lyx_-_programmiersprache:vega:controls:tfilenameedit|TFileNameEdit]] | ''Vega.EditBtn'' | Dateiname mit Auswahlknopf | | [[lyx_-_programmiersprache:vega:controls:tdirectoryedit|TDirectoryEdit]] | ''Vega.EditBtn'' | Verzeichnis mit Auswahlknopf | | [[lyx_-_programmiersprache:vega:controls:tdateedit|TDateEdit]] | ''Vega.EditBtn'' | Datum mit Kalenderknopf | | [[lyx_-_programmiersprache:vega:controls:tmaskedit|TMaskEdit]] | ''Vega.MaskEdit'' | Eingabefeld mit fester Form (Maske) | | [[lyx_-_programmiersprache:vega:controls:tdatetimepicker|TDateTimePicker]] | ''Vega.DateTimePicker'' | Datum oder Uhrzeit in Teilfeldern, mit Kalender | | [[lyx_-_programmiersprache:vega:controls:tvaluelisteditor|TValueListEditor]] | ''Vega.ValueList'' | Name-Wert-Paare mit Prüfung beim Bestätigen | ===== Hilfsklassen ===== Keine Steuerelemente, aber in fast jeder Tabelle als Datentyp vertreten. ^ Klasse ^ Unit ^ Kurz ^ | [[lyx_-_programmiersprache:vega:controls:tobjectlist|TObjectList]] | ''Vega.Lists'' | Wachsende Liste von Objektverweisen (Kinder, Spalten, Einträge) | | [[lyx_-_programmiersprache:vega:controls:tstringlist|TStringList]] | ''Vega.Lists'' | Liste von Zeichenketten, besitzt ihre Einträge | | [[lyx_-_programmiersprache:vega:controls:tintarray|TIntArray]] | ''Vega.Lists'' | Feld von Zahlen mit änderbarer Länge | | [[lyx_-_programmiersprache:vega:controls:ttextbuffer|TTextBuffer]] | ''Vega.Strings'' | Veränderlicher Text, Bytes und Zeichen getrennt | //Weitere Detailseiten entstehen nach und nach; die folgende Gesamtliste bleibt bis dahin die Referenz.// ---- **49 Controlklassen**, davon 36 direkt an ''TControl''. Namen und Verhalten folgen Delphi; wo Vega abweicht, steht der Grund im Kopf der jeweiligen Unit. Die Tabellen hier führen auf, was man im Formular benutzt. Dazu kommen Hilfsklassen wie ''TStyleSet'', ''TTextBuffer'' oder ''TLfmValue'' — im Ganzen 102 Klassen in 42 Units. ===== Grundlage ===== ^ Klasse ^ Unit ^ Zweck ^ | ''TControl'' | ''Control'' | Basisklasse: Baum, Lage, Zeichnen, Ereignisse, Fokus, Anker | | ''TDispatcher'' | ''Dispatch'' | Verteilt Ereignisse eines Fensters auf die Controls | | ''TForm'' | ''Forms'' | Ein Fenster samt Inhalt | | ''TApplication'' | ''Forms'' | Hauptschleife, Formularverwaltung, Zeitgeber | | ''TTimer'' | ''Forms'' | Zeitgeber ohne eigenen HAL-Aufruf | ===== Standardelemente ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TPanel'' | ''StdCtrls'' | Container mit Rahmen | | ''TLabel'' | ''StdCtrls'' | ''AutoSize'', ''WordWrap'', ''Alignment'' | | ''TButton'' | ''StdCtrls'' | ''Default'', ''Cancel'', ''ModalResult'' | | ''TCheckBox'' | ''StdCtrls'' | drei Zustände über ''AllowGrayed'' | | ''TRadioButton'' | ''StdCtrls'' | ''GroupIndex'' | | ''TGroupBox'' | ''StdCtrls'' | | | ''TProgressBar'' | ''StdCtrls'' | ''StepIt'', waagerecht und senkrecht | ===== Eingabe ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TEdit'' | ''Edits'' | Auswahl, ''CharCase'', ''TextHint'', ''PasswordChar'' | | ''TMemo'' | ''Edits'' | mehrzeilig, ''Lines'', ''AddLine'' | | ''TSpinEdit'' | ''ExtCtrls'' | Zahl mit Pfeilen | | [[lyx_-_programmiersprache:vega:controls:tdirectoryedit|TDirectoryEdit]] | ''EditBtn'' | Feld mit ''…''-Knopf, wählt ein Verzeichnis | | [[lyx_-_programmiersprache:vega:controls:tfilenameedit|TFileNameEdit]] | ''EditBtn'' | dasselbe für Dateien | | [[lyx_-_programmiersprache:vega:controls:tdateedit|TDateEdit]] | ''EditBtn'' | mit Kalenderauswahl | | [[lyx_-_programmiersprache:vega:controls:tmonthcalendar|TMonthCalendar]] | ''Calendar'' | Monatsansicht | ===== Listen und Bäume ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TListBox'' | ''ListCtrls'' | ''MultiSelect'', ''Sorted'' | | ''TComboBox'' | ''ListCtrls'' | Aufklappliste über dem Formular gezeichnet | | ''TScrollBar'' | ''ListCtrls'' | | | ''TCheckListBox'' | ''Extras'' | Liste mit Kästchen | | [[lyx_-_programmiersprache:vega:controls:tlistview|TListView]] | ''ListView'' | Spalten, Sortieren, Kästchen, Symbole | | [[lyx_-_programmiersprache:vega:controls:ttreeview|TTreeView]] | ''Trees'' | Symbole, eigenes Auswahlsymbol je Knoten | | [[lyx_-_programmiersprache:vega:controls:tstringgrid|TStringGrid]] | ''Grids'' | ''OnDrawCell'' — deckt auch ''TDrawGrid'' ab | ===== Anordnung ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TScrollBox'' | ''Layout'' | Inhalt größer als der Rahmen | | ''TSplitter'' | ''Layout'' | verschiebbare Trennlinie | | ''TStatusBar'' | ''Layout'' | Felder oder einfacher Text | | ''TToolBar'' | ''Layout'' | ''Images'', ''ShowCaptions'', Zeilenumbruch | | ''TToolButton'' | ''Layout'' | fünf Arten: Knopf, Umschalter, Klappknopf, Trenner, Teilstrich | | ''TPageControl'' | ''ExtCtrls'' | Registerkarten mit ''TTabSheet'' | | ''TTabControl'' | ''ExtCtrls'' | Reiter ohne eigene Seiten | ===== Kleinteile ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TStaticText'' | ''Extras'' | Beschriftung mit Rahmen | | ''TBevel'' | ''Extras'' | Linie oder Kasten | | ''TShape'' | ''Extras'' | Rechteck, Ellipse, Kreis | | ''TSpeedButton'' | ''Extras'' | flach, einrastend, mit Bild | | ''TBitBtn'' | ''Extras'' | Knopf mit Bild und Standardformen | | ''TRadioGroup'' | ''Extras'' | Gruppenrahmen voller Auswahlknöpfe | | ''TUpDown'' | ''Extras'' | Pfeilpaar | | ''TPaintBox'' | ''Extras'' | Fläche zum Selberzeichnen | | ''TTrackBar'' | ''ExtCtrls'' | Schieberegler | | [[lyx_-_programmiersprache:vega:controls:timage|TImage]] | ''Images'' | Bild mit ''Stretch'', ''Proportional'', ''Center'' | | [[lyx_-_programmiersprache:vega:controls:timagelist|TImageList]] | ''Images'' | Symbolsatz für Leiste, Liste und Baum | ===== Menüs, Hinweise, Aktionen ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TMainMenu'' | ''Menus'' | Menüleiste am Formular | | ''TPopupMenu'' | ''Menus'' | Kontextmenü, an ''TControl.PopupMenuPtr'' | | ''TMenuItem'' | ''Menus'' | Einträge, Trenner, Untermenüs | | ''THintWindow'' | ''Hints'' | Hinweisfenster | | ''TAction'' / ''TActionList'' | ''Actions'' | ein Befehl, viele Bedienelemente | ===== Dialoge ===== ^ Klasse ^ Unit ^ Bemerkung ^ | ''TOpenDialog'' / ''TSaveDialog'' | ''FileDlg'' | Dateiauswahl | | ''TSelectDirectoryDialog'' | ''FileDlg'' | Verzeichnisauswahl | | ''TColorDialog'' | ''ColorDlg'' | HSV-Auswahl, Grundfarben | | ''TFontDialog'' | ''FontDlg'' | Schriftauswahl mit Vorschau | | ''ShowMessage'' / ''ConfirmDlg'' | ''Dialogs'' | Meldungen und Rückfragen | ===== Was fehlt ===== * [[lyx_-_programmiersprache:vega:controls:tmaskedit|TMaskEdit]] — Eingabe mit Maske * ''TColorBox'', [[lyx_-_programmiersprache:vega:controls:tvaluelisteditor|TValueListEditor]] * ''TFindDialog'' / ''TReplaceDialog'' * Fenster **minimieren** fehlt in ''IVegaBackend'' selbst, also in allen Backends