                                  - TOC-   1 -





 GVDialog - Unit ......................................................      1
 bfGrabFocus - Konstante (Unit GVDialog) ..............................      1
 cmArroUp, cmArrowDn - Kommandos (Unit GVDialog) ......................      1
 FreeSItem - Prozedur (Unit GVDialog) .................................      2
 GetGVDialogCursor - Prozedur (Unit GVDialog) .........................      2
 TDialog - Objekt (Unit GVDialog) .....................................      2
 TListBoxRec - Record (Unit GVDialog) .................................      2
 TInputLine - Objekt (Unit GVDialog) ..................................      3
 TInputLine.ChMCursor - Methode .......................................      4
 TInputLine.Init - Konstruktor ........................................      4
 TInputLine.Done - Destruktor .........................................      5
 TInputLine.Draw - Methode ............................................      5
 TInputLine.DrawText - Methode ........................................      5
 TInputLine.HandleEvent - Methode .....................................      5
 TInputLine.Load - Konstruktor ........................................      6
 TInputLine.SetCurPos - Methode .......................................      6
 TInputLine.SetSelect - Methode .......................................      7
 TInputLine.SetState - Methode ........................................      7
 TInputLine.Store - Methode ...........................................      7
 TArrowField.Draw - Methode ...........................................      8
 TArrowField.HandleEvent - Methode ....................................      8
 Init,TArrowField .....................................................      8
 TArrowField - Objekt (Unit GVDialog) .................................      8
 TNumInput.LimitHi - Feld .............................................      9
 TNumInput.LimitLo - Feld .............................................      9
 TNumInput - Objekt (Unit GVDialog) ...................................      9
 TNumInput.Arrows - Feld ..............................................     10
 TNumInput.Init - Konstruktor .........................................     10
 TNumInput.Value - Feld ...............................................     10
 TNumInput.DataSize - Methode .........................................     11
 TNumInput.GetData - Methode ..........................................     11
 TNumInput.HandleEvent - Methode ......................................     11
 TNumInput.Load - Konstruktor .........................................     11
 TNumInput.SetData - Methode ..........................................     12
 SetLimit,TNumInput ...................................................     12
 TNumInput.Store - Methode ............................................     12
 TButton.Flags - Feld .................................................     13
 TButton - Objekt (Unit GVDialog) .....................................     13
 TButton.Title - Feld .................................................     13
 TButton.CondDrawState - Methode ......................................     14
 TButton.DrawState - Methode ..........................................     14
 TButton.DrawText - Methode ...........................................     14
 TButton.SetState - Methode ...........................................     15
 TGButton.Sign - Feld .................................................     15
 TGButton - Objekt (Unit GVDialog) ....................................     15
 TGButton.Done - Destruktor ...........................................     16
 TGButton.Init - Konstruktor ..........................................     16
 TGButton.Load - Konstruktor ..........................................     16
 TGButton.Store - Methode .............................................     16
 TGButton.DrawText - Methode ..........................................     17
 TRegler - Objekt (Unit GVDialog) .....................................     17
 TRegler.Done - Destruktor ............................................     18
 TRegler.Init - Konstruktor ...........................................     18
 TRegler.Value - Feld .................................................     18



                                  - TOC-   1 -
                                  - TOC-   2 -





 TRegler.Draw - Methode ...............................................     19
 TRegler.HandleEvent - Methode ........................................     19
 TRegler.Load - Konstruktor ...........................................     19
 TRegler.Store - Methode ..............................................     19
 TRegler.DataSize - Methode ...........................................     20
 TRegler.GetData - Methode ............................................     20
 TRegler.SetData - Methode ............................................     20
 TRegler.SetState - Methode ...........................................     20
 TCluster.Draw - Methode ..............................................     21
 TCluster - Objekt (Unit GVDialog) ....................................     21
 TCluster.DrawItem - Methode ..........................................     22
 TCluster.GetIconNum - Methode ........................................     22
 TCluster.GetItemRect - Methode .......................................     22
 TCluster.Mark - Methode ..............................................     23
 TRadioButtons - Objekt (Unit GVDialog) ...............................     23
 TRadioButtons.GetIconNum - Methode ...................................     24
 TRadioButtons.Mark - Methode .........................................     24
 TCheckBoxes - Objekt (Unit GVDialog) .................................     24
 TCheckBoxes.GetIconNum - Methode .....................................     25
 TCheckBoxes.Mark - Methode ...........................................     25
 TMultiCheckBoxes - Objekt (Unit GVDialog) ............................     25
 TMultiCheckBoxes.Flags - Feld ........................................     26
 TMultiCheckBoxes.SelRange - Feld .....................................     26
 TMultiCheckBoxes.States - Feld .......................................     26
 TMultiCheckBoxes.Init - Konstruktor ..................................     27
 TMultiCheckBoxes.MyData - Feld .......................................     27
 TMultiCheckBoxes.Done - Destruktor ...................................     29
 TMultiCheckBoxes.DrawItem - Methode ..................................     29
 TMultiCheckBoxes.Load - Konstruktor ..................................     29
 TMultiCheckBoxes.GetIconNum - Methode ................................     30
 TMultiCheckBoxes.Store - Methode .....................................     30
 TListBox - Objekt (Unit GVDialog) ....................................     30
 TListBox.Init - Konstruktor ..........................................     31
 TListBox.Load - Konstruktor ..........................................     31
 TListBox.NewFocus - Feld .............................................     31
 TListBox.NewList - Methode ...........................................     32
 TListBox.Store - Methode .............................................     32
 TStaticText - Objekt (Unit GVDialog) .................................     32
 TStaticSign.Sign - Feld ..............................................     33
 TParamText - Objekt (Unit GVDialog) ..................................     33
 TStaticSign - Objekt (Unit GVDialog) .................................     33
 TStaticSign.Done - Destructor ........................................     34
 TStaticSign.Init - Konstruktor .......................................     34
 TStaticSign.Load - Konstruktor .......................................     34
 TStaticSign.Store - Methode ..........................................     34
 TStaticSign.Draw - Methode ...........................................     35
 THistoryViewer - Objekt (Unit GVDialog) ..............................     35
 TIcon - Objekt (Unit GVDialog) .......................................     35
 TLabel - Objekt (Unit GVDialog) ......................................     35
 THistory - Objekt (Unit GVDialog) ....................................     36
 THistoryWindow - Objekt (Unit GVDialog) ..............................     36
 THistory.Draw - Methode ..............................................     37





                                  - TOC-   2 -
                                    -    1 -






GVDialog - Unit
 

GVDialog ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVDialog stellt grafische Dialogelemente bereit.

 Variablen und Konstanten:

  cmArrowUp
  cmArrowDn
  bfXXXXXXX

 Prozeduren:

  FreeSItem
  GetGVDialogCursor

 Objekte und Records:

  TSItem          (siehe Pascal-Dokumentation)
  TListBoxRec   

  TDialog
  TInputLine
  TArrowField
  TNumInput
  TButton
  TGButton
  TRegler
  TCluster
  TRadioButtons
  TCheckBoxes
  TMultiCheckBoxes
  TListBox
  TStaticText
  TParamText
  TStaticSign
  TLabel
  TIcon
  THistoryViewer
  THistoryWindow
  THistory

cmArroUp, cmArrowDn - Kommandos (Unit GVDialog)
 

 Deklaration:

   cmArrowUp = 60;
   cmArrowDn = 61;


 Funktion:

Diese beiden Kommandos werden von TArrowField-Objekten benutzt,
um das zugehrige TNumInput-Objekt zu benachrichtigen, da eine
nderung des Zahlenwertes durchgefhrt werden mu.



                  gvdialog, Page #   1   Date 22-7-1996 Monday
                                    -    2 -






bfGrabFocus - Konstante (Unit GVDialog)
 

 Deklaration:
bfGrabFocus = $08;


 Funktion:

Wenn das Flag bfGrabFocus gesetzt ist, wird ein TButton-Objekt
beim Anklicken mit der Maus automatisch selektiert. Ansonsten setzt das Objekt
einfach nur sein Kommando ab.

 siehe auch:

  bfXXXX  (siehe Pascal-Dokumentation)

FreeSItem - Prozedur (Unit GVDialog)
 

 Deklaration:
procedure FreeSItem (ASItem: PSItem);


 Funktion:

Diese Routine ist das Gegenstck zu NewSItem. Eine ber NewSItem erzeugte
Liste wird mit Hilfe dieser Routine wieder aus dem Speicher entfernt.

 siehe auch:

   NewSItem  (siehe Pascal-Dokumentation)

GetGVDialogCursor - Prozedur (Unit GVDialog)
 

 Deklaration:
procedure GetGVDialogCursor (n: Integer);


 Funktion:

Diese Routine stellt die in GVDialog zustzlich verwendeten Mauszeiger bereit.

 siehe auch:

   DoGetMCursor

TListBoxRec - Record (Unit GVDialog)
 

 Deklaration:

  TListBoxRec = Record
                  List: PCollection;
                  Index: Integer;
                End;


 Funktion:

Ein Zeiger auf einen TListBoxRec-Record wird den Methoden TListBox.SetData
und TListBox.GetData als Parameter bergeben.

 siehe auch:

   GetData,TListBox  (siehe Pascal-Dokumentation)
   SetData,TListBox  (siehe Pascal-Dokumentation)



                  gvdialog, Page #   2   Date 22-7-1996 Monday
                                    -    3 -






TDialog - Objekt (Unit GVDialog)
 

TDialog ist ein spezialisierter Nachfolger von TWindow und speziell dafr
ausgelegt, ber Dialogelemente mit dem Benutzer zu kommunizieren. Daher
verfgt TDialog ber einige Eigenschaften, die dieses Objekt von seinem
unmittelbaren Vorfahren TWindow unterscheiden:

 * Das Feld GrowMode ist auf 0 gesetzt, daher kann die Gre des
   Objekts nicht gendert werden.

 * Die Bits wfMove, wfClose, wfBackground, wfShowTitle und wfModal in Flags
   sind gesetzt; das Fenster kann also geschlossen (im Rahmen des Fensters
   erscheint ein Schliefeld) oder ber den Bildschirm bewegt werden.

 * Die HandleEvent-Methode ruft zwar TWindow.HandleEvent auf,
   behandelt aber die Ereignisse [Esc] gedrckt und [Enter]
   gedrckt selbst. Im ersten Fall wird der cmCancel-, im zweiten
   der cmDefault-Befehl abgesetzt.

 * Dialogfenster verfgen ber keine Fensternummer.

 * Die Valid-Methode gibt auf jeden Fall True zurck, wenn der
   bergebene Befehl cmCancel ist, und ruft erst dann TGGroup.Valid
   auf, wenn ein anderer Befehl eintrifft.

 Methoden:

   Init         (siehe Pascal-Dokumentation)
   GetPalette   (siehe Pascal-Dokumentation)
   HandleEvent  (siehe Pascal-Dokumentation)
   Valid        (siehe Pascal-Dokumentation)

TInputLine - Objekt (Unit GVDialog)
 

TInputLine stellt einen Zeileneditor zur Verfgung, der die gewohnten
Editiertasten und die Maus untersttzt (siehe TInputLine.HandleEvent).
Mittels der Maus kann ein Textblock innerhalb der bearbeiteten Zeile
markiert werden, der dann durch das erste eingegebene Zeichen ersetzt wird.

Die bearbeitete Zeile kann lnger als der am Bildschirm zur Verfgung
stehende Raum sein, da sie bei Bedarf horizontal bewegt wird.

ber die Methode SetData nimmt dieses Objekt die zu bearbeitenden Daten
entgegen und gibt sie ber GetData wieder zurck.

In der Regel sind andere Objekte mit einem Eingabefeld verbunden, zum
Beispiel Beschriftungen (TLabel), eine Eingabeaufzeichnungsliste und
Validierungsobjekte.

Sie knnen dieses Objekt auch als Basis fr die Eingabe und Bearbeitung
anderer Datentypen verwenden. Dazu mssen Sie allerdings neue Felder
definieren, die diese Daten speichern, und natrlich die Methoden Init,



                  gvdialog, Page #   3   Date 22-7-1996 Monday
                                    -    4 -





Load, Store, Valid, DataSize, GetData und SetData berschreiben.

 Felder:

  CurPos     (siehe Pascal-Dokumentation)
  Data       (siehe Pascal-Dokumentation)
  FirstPos   (siehe Pascal-Dokumentation)
  MaxLen     (siehe Pascal-Dokumentation)
  SelEnd     (siehe Pascal-Dokumentation)
  SelStart   (siehe Pascal-Dokumentation)
  Validator  (siehe Pascal-Dokumentation)

 Methoden:

  Init
  ChMCursor
  DataSize      (siehe Pascal-Dokumentation)
  Done
  Draw
  DrawText
  GetData       (siehe Pascal-Dokumentation)
  HandleEvent
  Load
  SelectAll     (siehe Pascal-Dokumentation)
  SetCurPos
  SetData       (siehe Pascal-Dokumentation)
  SetSelect
  SetState
  SetValidator  (siehe Pascal-Dokumentation)
  Store
  Valid         (siehe Pascal-Dokumentation)

 siehe auch:

  TNumInput

TInputLine.Init - Konstruktor
 

 Deklaration:
   constructor Init(var Bounds: TRect; AMaxLen: Integer);


 Funktion:

Initialisiert ber TGView.Init(Bounds) ein Eingabefeld in der in Bounds
angegebenen Gre. In Options werden die Bits ofSelectable und ofFirstClick,
in State das Bit sfCursorVis gesetzt. ber GetMem werden AMaxLen + 1 Bytes
Speicher reserviert und initialisiert. Das Feld Data zeigt auf diesen
Speicherbereich.

 Siehe auch:

  ofFirstClick
  TGView.Init
  TInputLine

TInputLine.ChMCursor - Methode
 

 Deklaration:
   procedure ChMCursor; virtual;




                  gvdialog, Page #   4   Date 22-7-1996 Monday
                                    -    5 -






 Funktion:

Die Methode prft, ob sich der Mauszeiger innerhalb des Objektes befindet und
trgt ggf. in NewNum die entsprechende Mauszeigernummer ein.

 siehe auch:

   TGView.ChMCursor
   mcXXXXXXX

TInputLine.Done - Destruktor
 

 Deklaration:
   destructor Done; virtual;


 Funktion:

Gibt den mit Data verbundenen Speicher frei und ruft dann den Destruktor
TGView.Done auf, der das Objekt entfernt.

 Siehe auch:

  Done,TView  (siehe Pascal-Dokumentation)
  TInputLine

TInputLine.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;


 Funktion:

Stellt das Eingabefeld auf dem Bildschirm dar und verwendet dabei die Farben,
die dem Status des Objekts entsprechen.
Ist ein Bereich der Eingabezeile markiert, wird dieser Block mit der
entsprechenden Farbe markiert.

Tatschlich sorgt Draw nur fr die Darstellung des Hintergrundes. Die
eigentliche Darstellung des Textes besorgt die Methode
DrawText.

 Siehe auch:

  TInputLine

TInputLine.DrawText - Methode
 

 Deklaration:
   procedure DrawText (APos, EPos: Integer); virtual;


 Funktion:

Stellt einen Teil des Textes in der Eingabezeile dar. APos und EPos bezeichnen
Start- und Endposition des darzustellenden Textes. Sollte eine Markierung
gesetzt sein, so wird der Textausschnitt in den entsprechenden Farben
dargestellt.

 siehe auch:

   Draw




                  gvdialog, Page #   5   Date 22-7-1996 Monday
                                    -    6 -





TInputLine.HandleEvent - Methode
 

 Deklaration:
   procedure HandleEvent(var Event: TEvent); virtual;


 Funktion:

Ruft zunchst die von TGView geerbte HandleEvent-Methode auf und kmmert sich
dann um alle Tastatur- und Mausereignisse, die den Zeileneditor betreffen.
Diese Methode stellt damit die Editier- Eigenschaften dieses Objektes bereit.

Diese Eigenschaften umfassen: Blockmarkierung mittels der Maus, Lschen
dieses Blocks, horizontales Verschieben von Zeilenbereichen, wenn
erforderlich, Umschaltung zwischen Einfge- und berschreibmodus, wobei sich
die Form des Cursors ndert, Untersttzung der Cursortasten, einschlielich
[Pos1] und [Ende] (diese Funktionen auch ber die Kombination [Strg][Taste]
erreichbar sind). Mit [Entf] oder [Rck] wird entweder ein Zeichen oder der
markierte Block gelscht.

HandleEvent veranlat auch die Neudarstellung der Eingabezeile und die
Speicherung eventuell genderter Werte in den Feldern dieses Objekts.

 Siehe auch:

  sfCursorIns
  SelectAll  (siehe Pascal-Dokumentation)
  TGView.HandleEvent
  TInputLine

TInputLine.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);


 Funktion:

Erstellt ein TInputLine-Objekt und initialisiert es mittels TGView.Load(S)
mit Werten, die es ber S.Read aus dem Stream einliest. Mittels GetMem
werden MaxLen + 1 Bytes Speicher reserviert.

Diese Methode wird zusammen mit TInputLine.Store genutzt, um Objekte des
Typs TInputLine in einem Stream zu speichern bzw. wieder zu laden.

berschreiben Sie diese Methode, wenn Sie von TInputLine abgeleitete Objekte
definieren, die weitere Felder besitzen.

 Siehe auch:

  Store
  Read,TStream  (siehe Pascal-Dokumentation)
  TGView.Load
  TInputLine

TInputLine.SetCurPos - Methode
 

 Deklaration:
   procedure SetCurPos (ACurPos: Integer; DoSelect: Boolean);





                  gvdialog, Page #   6   Date 22-7-1996 Monday
                                    -    7 -





 Funktion:

Setzt den Textcursor innerhalb des Eingabefeldes an die Position, die dem
Index ACurPos entspricht. Ist DoSelect true, wird gleichzeitig der Text der
zwischen Anfangs- und Endposition des Cursors liegt, selektiert.

 siehe auch:

  SetSelect

TInputLine.SetSelect - Methode
 

 Deklaration:
   procedure SetSelect(NewStart, NewEnd: Integer);


 Funktion:

Setzt die Felder SelStart und SelEnd auf die angegebenen Werte und veranlat
ber DrawText eine Anpassung der Bildschirmdarstellung.

 siehe auch:

  SelStart  (siehe Pascal-Dokumentation)
  SelEnd    (siehe Pascal-Dokumentation)

TInputLine.SetState - Methode
 

 Deklaration:
   procedure SetState(AState: Word; Enable: Boolean); virtual;


 Funktion:

Ruft TGView.SetState(AState, Enable) auf, damit - sofern Enable True ist -
alle in AState gesetzten Bits auch in State gesetzt oder - wenn Enable False
ist - gelscht werden.

Sodann wird, wenn die Bits sfSelected oder sfActive in AState gesetzt sind,
SelectAll(Enable) aufgerufen.

Auerdem wird das Feld CursorSize angepat, wenn in AState das Flag sfCursorIns
gesetzt ist.

 Siehe auch:

   sfXXXXXXX
   TGView.DrawView
   TGView.SetState
   TInputLine

TInputLine.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream);


 Funktion:

Schreibt ein TInputLine-Objekt in den angegebenen Stream, indem es ber
TGView.Store(S), dem Aufrufe von S.Write folgen, sowohl den Wert von MaxLen
als auch den String Data^ dem Stream bergibt. Diese Methode wird zusammen
mit TInputLine.Load genutzt, um Objekte des Typs TInputLine in einem Stream
zu speichern bzw. wieder zu laden.



                  gvdialog, Page #   7   Date 22-7-1996 Monday
                                    -    8 -






berschreiben Sie diese Methode, wenn Sie von TInputLine abgeleitete Objekte
definieren, die weitere Felder besitzen.

 Siehe auch:

   Load
   Write,TStream  (siehe Pascal-Dokumentation)
   TGView.Store
   TInputLine

TArrowField - Objekt (Unit GVDialog)
 

TArrowField stellt einen ntzlichen Schalter zum Inkrementieren oder
Dekrementieren des Wertes einen TNumInput-Objektes bereit.

Die HandleEvent Methode eines solchen Objektes benachrichtigt das zugehrige
TNumInput-Objekt ber Message.

 Methoden:

    Init
    Draw
    HandleEvent

Init,TArrowField
 

 Deklaration:
   constructor Init (var Bounds: TRect);


 Funktion:

Zunchst wird ber TGView.Init ein TArrowField in
der in Bounds angegebenen Gre erzeugt. Dann wird in Options das Flag
ofPreProcess und in EventMask das Flag evBroadcast gesetzt.

TArrowField.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;


 Funktion:

Stellt das TArrowField-Objekt auf dem Bidlschirm dar.

TArrowField.HandleEvent - Methode
 

 Deklaration:
   procedure HandleEvent(Event: TEvent); virtual;


 Funktion:

Ruft zunchst TGView.HandleEvent auf, um Ereignisse zu
bearbeiten. Dann wird ausgewertet, ob das Objekt mit der Maus angeklickt
wurde und ggf. Message aufgerufen und zwar folgendermaen:

   Message (GOwner, evBroadCast, cmArrowUp, @Self);




                  gvdialog, Page #   8   Date 22-7-1996 Monday
                                    -    9 -





Anstelle von cmArrowUp kann auch cmArrowDn stehen.

 siehe auch:

   cmArrowXX
   TArrowField

TNumInput - Objekt (Unit GVDialog)
 

TNumInput stellt eine Eingabefeld fr ganze Zahlen bereit. Es handelt sich
bei diesem Objekt um einen spezialisierten Nachkommen von TInputLine.
Ein solches Eingabefeld lt sich auch mit einem Validierungsobjekt realisieren.
TNumInput stellt jedoch Routinen bereit, die die Arbeit mit Zahlen in
Eingabefeldern erleichtern. Auerdem werden TArrowField-Objekte
untersttzt und folgende zustzliche Tastenfunktionen:

   Taste         Funktion
 
  Cursor Up      der Wert im Eingabefeld wird um eins erhht
  Cursor Down    der Wert im Eingabefeld wird um eins dekrementiert
  PgUp                     - " -              um 10 erhht
  PgDn                     - " -              um 10 dekrementiert
  Ctrl-PgUp      der Wert wird auf ein voreingestelltes Maximum gesetzt
  Ctrl-PgDn      der Wert wird auf ein voreingestelltes Minimum gesetzt

 Felder:

   LimitHi
   LimitLo
   Value
   Arrows

 Methoden:

   Init
   Load
   DataSize
   GetData
   HandleEvent
   SetData
   SetLimit
   Store

TNumInput.LimitHi - Feld
 

 Deklaration:
   LimitHi: Integer


 Funktion:

LimitHi speichert die obere Grenze des Wertes in Value. Der
Wert dieses Feldes kann ber SetLimit verndert werden.

 siehe auch:

   TNumInput

TNumInput.LimitLo - Feld



                  gvdialog, Page #   9   Date 22-7-1996 Monday
                                    -   10 -





 

 Deklaration:
   LimitLo: Integer


 Funktion:

LimitLo speichert die untere Grenze des Wertes in Value. Der
Wert dieses Feldes kann ber SetLimit verndert werden.

 siehe auch:

   TNumInput

TNumInput.Value - Feld
 

 Deklaration:
   Value: Integer;


 Funktion:

Value den momentanen Wert der im Eingabefeld editierten ganzen Zahl.
Dieser Wert kann zwischen den beiden Werten LimitLo
und LimitHi durch Nutzereingaben verndert werden.
Sie knnen mit Hilfe der Methoden SetData und GetData
auf Value zugreifen.

 siehe auch:

  TNumInput

TNumInput.Arrows - Feld
 

 Deklaration:
   Arrows: PArrowField;


 Funktion:

Arrows ist ein Zeiger auf ein TArrowfield-Objekt. Mit Hilfe
dieses Objektes kann der Wert im Eingabefeld mit der Maus verndert werden.

 siehe auch:

  TNumInput

TNumInput.Init - Konstruktor
 

 Deklaration:

   constructor Init (var Bounds: TRect; ALimitLo, ALimitHi: Integer;
     AArrows: PArrowField);


 Funktion:

Zunchst wird ber TInputLine.Init(Bounds, 6) ein TNumInput-
Objekt in der in Bounds angegebenen Gre erzeugt. MaxLen wird auf 6 gesetzt,
da eine Integer-Zahl (incl. Vorzeichen) maximal 6 Stellen haben kann.
Arrows wird auf AArrows gesetzt. Value wird auf 0 gesetzt
und ein entsprechender String in Data^ eingetragen. LimitLo und LimitHi
werden auf ALimitLo bzw. ALimitLo gesetzt.




                  gvdialog, Page #  10   Date 22-7-1996 Monday
                                    -   11 -





 siehe auch:

   MaxLen,TInputLine  (siehe Pascal-Dokumentation)
   Data,TInputLine    (siehe Pascal-Dokumentation)
   SetLimit
   TNumInput

TNumInput.Load - Konstruktor
 

 Deklaration:
   constructor Load (var S: TStream);


 Funktion:

Ldt ein TNumInput-Objekt aus dem Stream S. Dabei wird zunchst
TInputLine.Load aufgerufen. Dann wird ber GetPeerViewPtr
der Wert von Arrows gelesen und dann mittels S.Read
die Werte der drei Integer-Felder.

 siehe auch:

  GetPeerViewPtr,TGView  (siehe Pascal-Dokumentation)
  Read,TStream           (siehe Pascal-Dokumentation)
  Store
  TNumInput

TNumInput.DataSize - Methode
 

 Deklaration:
  function DataSize: Word; virtual;


 Funktion:

Diese Methode gibt die Gre des Datenblocks zurck, die von SetData
bzw. GetData kopiert werden. Diese Methode berschreibt
die Methode TInputLine.DataSize. Sie gibt SizeOf(Value), also 2, zurck.

 siehe auch:

   DataSize,TInputLine  (siehe Pascal-Dokumentation)
   TNumInput

TNumInput.GetData - Methode
 

 Deklaration:
   procedure GetData(var Rec); virtual;


 Funktion:

Die Methode ruft zunchst TInputLine.GetData auf, um den Wert von Data^ zu
ermitteln. Dann wird versucht, diesen Wert in eine Zahl zu konvertieren. Sollte
dies scheitern, gibt GetData den Wert von Value in Rec zurck,
ansonsten die konvertierte Zahl.

 siehe auch:

  GetData,TInputLine  (siehe Pascal-Dokumentation)
  SetData
  TNumInput

TNumInput.HandleEvent - Methode



                  gvdialog, Page #  11   Date 22-7-1996 Monday
                                    -   12 -





 

 Deklaration:
   procedure HandleEvent(var Event: TEvent); virtual;


 Funktion:

Ruft zur Bearbeitung von Ereignissen immer TInputLine.HandleEvent
auf. Allerdings werden alle Tastaturereigisse, die Buchstabeneingaben bedeuten,
abgefangen. Auerdem reagiert die Methode auf Rundrufereignisse, die von dem
zugehrigen TArrowField-Objekt gesendet wurden.

 siehe auch:

   TNumInput

TNumInput.SetData - Methode
 

 Deklaration:
   procedure SetData(var Rec); virtual;


 Funktion:

Setzt Value auf den Wert, der in Rec gegeben wird. Sollte dieser neue Wert
auerhalb des voreingestellten Wertebereichs liegen, wird er entsprechend
angepat. Auerdem wird ein entsprechender String in Data^ eingetragen.

 siehe auch:

   Data,TInputLine     (siehe Pascal-Dokumentation)
   SetData,TInputLine  (siehe Pascal-Dokumentation)
   LimitHi
   LimitLo
   GetData
   TNumInput

SetLimit,TNumInput
 

 Deklaration:
   procedure SetLimit (ALimitLo, ALimitHi: Integer);


 Funktion:

Setzt die Felder LimitHi und LimitLo
auf die vorgegebenen Werte. Sollte Value auerhalb des
neuen Wertebereichs liegen, so wird der Wert automatisch angepat.

 siehe auch:

  TNumInput

TNumInput.Store - Methode
 

 Deklaration:
   procedure Store (var S: TStream); virtual;


 Funktion:

Schreibt ein TNumInput-Objekt in den Stream S. Dabei wird zunchst
TInputLine.Store aufgerufen. Dann wird ber PutPeerViewPtr
der Wert von Arrows geschrieben und dann mittels S.Write
die Werte der drei Integer-Felder.



                  gvdialog, Page #  12   Date 22-7-1996 Monday
                                    -   13 -






 siehe auch:

  PutPeerViewPtr,TGView  (siehe Pascal-Dokumentation)
  Write,TStream           (siehe Pascal-Dokumentation)
  Load
  TNumInput

TButton - Objekt (Unit GVDialog)
 

TButton stellt ein spezielles Eingabemedium zur Verfgung: einen Schalter,
der einen Befehl absetzt, sobald er gedrckt wird. Sie drcken den
Schalter, indem Sie die Taste bettigen, die dem hervorgehobenen Buchstaben
in der Beschriftung des Schalters entspricht. Das gleiche erreichen Sie,
wenn Sie den Schalter mit der Maus anklicken, oder ihn mit [Tab] und
[Leertaste] selektieren und dann [Enter] drcken. Ist ein TButton-Objekt der
voreingestellte Schalter, kann der Benutzer mit [Enter] diesen Schalter
bettigen, gleichgltig, welches andere Dialogelement gerade selektiert ist.
Es kann innerhalb eines Dialogfensters immer nur einen voreingestellten
Schalter geben.

Wenn Sie die mit einem Schalter verbundenen Befehle deaktivieren, wird auch
der Schalter selbst deaktiviert und reagiert auf keine Eingaben.

 Felder:

   Title
   Flags
   Command    (siehe Pascal-Dokumentation)
   AmDefault  (siehe Pascal-Dokumentation)

 Methoden:

   Init         (siehe Pascal-Dokumentation)
   Load         (siehe Pascal-Dokumentation)
   Done         (siehe Pascal-Dokumentation)
   Draw         (siehe Pascal-Dokumentation)
   DrawState
   DrawText
   CondDrawState
   HandleEvent  (siehe Pascal-Dokumentation)
   MakeDefault  (siehe Pascal-Dokumentation)
   Press        (siehe Pascal-Dokumentation)
   SetState
   Store        (siehe Pascal-Dokumentation)

TButton.Title - Feld
 

 Deklaration:
   Title: PString;


 Funktion:

Ein Zeiger auf den String, der zur Beschriftung des Schalters dient.

 Siehe auch:

  TButton



                  gvdialog, Page #  13   Date 22-7-1996 Monday
                                    -   14 -






TButton.Flags - Feld
 

 Deklaration:
   Flags: Byte;


 Funktion:

Die in diesem Byte gesetzten oder gelschten Bits legen fest, ob dieser
Schalter der aktuelle ist, ob die Beschriftung linksbndig oder zentriert
ausgegeben wird und ob der Schalter beim "Drcken" automatisch selektiert
wird oder nicht.

 Siehe auch:

   bfXXXXXXX-Konstanten
   TButton

TButton.DrawState - Methode
 

 Deklaration:
   procedure DrawState(Down: Boolean);


 Funktion:

Zeichnet den Schalter entweder in der Form Schalter gedrckt (Down ist
True) oder Schalter nicht gedrckt (Down ist False). Die Methode Draw ruft
DrawState mit dem Parameter Down ist False auf, damit der Schalter erstmals
dargestellt wird. HandleEvent benutzt DrawState, um einen durch Tastatur-
oder Mausereignisse genderten Status des Schalters auf dem Bildschirm
sichtbar zu machen. Um einen Text auf dem Schalter darzustellen, ruft diese
Methode DrawText auf.

 Siehe auch:

   Draw,TButton  (siehe Pascal-Dokumentation)
   DrawText
   TButton

TButton.DrawText - Methode
 

 Deklaration:
   procedure DrawText(Down: Boolean); virtual;


 Funktion:

Diese Methode stellt den String Title^ auf dem Schalter dar.
Dabei wird der in Down angegebene Status ("gedrckt" oder "losgelassen")
angenommen. Durch berschreiben dieser Methode in Nachkommen von TButton ist
es mglich, etwas anderes als Text auf dem Schalter darzustellen.

 siehe auch:

   DrawState
   TButton

TButton.CondDrawState - Methode
 

 Deklaration:
   procedure CondDrawState(Down:Boolean);




                  gvdialog, Page #  14   Date 22-7-1996 Monday
                                    -   15 -






 Funktion:

Diese Methode ruft DrawState genau dann auf, wenn der in
Down gegebenen Status vom aktuelle Status des Schalters abweicht. Die Methode
ist eine Hilfsroutine, die Sie mglichst nicht berschreiben sollten.

 siehe auch:

  TButton

TButton.SetState - Methode
 

 Deklaration:
   procedure SetState(AState: Word; Enable: Boolean); virtual;


 Funktion:

Ruft TGView.SetState(AState, Enabled) und dann, sofern das
Bit sfSelected in AState gesetzt ist, TGView.DrawView auf.

Wenn AState den Wert sfFocused aufweist, also der Schalter fokussiert werden
soll, wird ber die Anweisung MakeDefault(Enable) veranlat, da der bisher
voreingestellte Schalter diesen Status an das diese Methode aufrufende
TButton-Objekt abtritt.

 Siehe auch:

   MakeDefault,TButton  (siehe Pascal-Dokumentation)
   TButton

TGButton - Objekt (Unit GVDialog)
 

TGButton stellt ein modifiziertes TButton - Objekt dar. Ein solcher
Schalter stellt statt einem Text eine Bitmap auf dem Schalter dar. Die Bitmap
mu als Image vorliegen (z.B. ber VGAMem.GetImage erzeugt).

 Felder:

   Sign

 Methoden:

   Init
   Load
   Store
   Done
   DrawText


TGButton.Sign - Feld
 

 Deklaration:
   Sign: Pointer;


 Funktion:

Sign ist ein Zeiger auf die Bitmap, die auf dem Schalter ausgegeben werden
soll. Die Bitmap kann eine beliebige Gre haben.




                  gvdialog, Page #  15   Date 22-7-1996 Monday
                                    -   16 -





 siehe auch:

   TGButton

TGButton.Init - Konstruktor
 

 Deklaration:

   constructor Init (var Bounds: TRect; ASign: Pointer; ACommand: Word;
      AFlags: Word);


 Funktion:

Erzeugt ber TButton.Init(Bounds, '', ACommand, AFlags) ein TGButton-Objekt.
Dann wird ber GetMem Speicher fr die Bitmap alloziert. Die in ASign^
gegebene Bitmap wird in Sign^ kopiert. Beachten Sie, da
die Bitmap ASign^ weiterhin Speicher belegt. Sie mssen diesen selbst
freigeben.

 siehe auch:

   Init,TButton  (siehe Pascal-Dokumentation)
   TGButton

TGButton.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);


 Funktion:

Ldt ein TGButton-Objekt aus dem Stream S. Dazu wird zuerst TButton.Load(S)
aufgerufen und dann die Bitmap aus S gelesen.

 siehe auch:

   Load,TButton  (siehe Pascal-Dokumentation)
   Store
   TGButton

TGButton.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream); virtual;


 Funktion:

Schreibt ein TGButton-Objekt in den Stream S. Dazu wird zuerst
TButton.Store(S) aufgerufen und dann die Bitmap in S geschrieben.

 siehe auch:

   Store,TButton  (siehe Pascal-Dokumentation)
   Load
   TGButton

TGButton.Done - Destruktor
 

 Deklaration:
   destructor Done; virtual;




                  gvdialog, Page #  16   Date 22-7-1996 Monday
                                    -   17 -






 Funktion:

Gibt den von Sign belegten Speicher frei und ruft dann
TGView.Done (!) auf, um das Objekt vom Bildschirm zu entfernen.

 siehe auch:

   Done,TView  (siehe Pascal-Dokumentation)
   TGButton

TGButton.DrawText - Methode
 

 Deklaration:
   procedure DrawText(Down: Boolean); virtual;


 Funktion:

Gibt die Bitmap in Sign^ auf dem Schalter aus und versieht sie
mit dem Rahmen, der dem Status des Schalters entspricht.

 siehe auch:

   TButton.DrawText
   TGButton

TRegler - Objekt (Unit GVDialog)
 

TRegler stellt ein Objekt bereit, das es erlaubt, eine reelle Zahl innerhalb
gewisser, vom Nutzer vorgegebener, Grenzen durch einen linearen, grafischen
Regler zu verndern. Regler sind immer vertikal.
TRegler untersttzt folgende Funtionen:

  - Ziehen des Reglers mit der Maus
  - Setzen des Wertes auf Maximum bzw. MiniMum durch Pos1 bzw. Ende
  - Setzen des Wertes auf Mittelwert durch Space
  - Verndern des Wertes in groen Schritten durch PgUp/PgDn
  - Verndern des Wertes in kleinen Schritten durch Pfeiltasten

TRegler wurde fr eine ltere Version von GV entwickelt und ist in der
vorliegenden Version leider nicht voll einsetzbar. Das bedeutet, da
smtliche Beschriftungen an den Grenzen des Objektes abgeschnitten werden und
damit unsichtbar bleiben.

 Felder:

   Value

 Methoden:

   Init
   Done
   Load
   HandleEvent
   Draw
   SetState
   SetData
   GetData
   DataSize



                  gvdialog, Page #  17   Date 22-7-1996 Monday
                                    -   18 -





   Store

TRegler.Value - Feld
 

 Deklaration:
   Value: Real;


 Funktion:

Value speichert den aktuellen Wert des Reglers. Wenn Sie den Regler verndern,
so wird auch der Wert von Value entsprechend angepat.
Der Zugriff auf Value wird ber GetData und SetData
realisiert.

 siehe auch:

  TRegler

TRegler.Init - Konstruktor
 

 Deklaration:

    constructor Init (var Bounds:TRect; AMinValue, AMaxValue:Real;
      ABezeichnung, AMinBez, AMidBez, AMaxBez:String);


 Funktion:

Init erzeugt ein TRegler - Objekt in der in Bounds angegebenen Gre.
Die anderen Parameter haben folgende Bedeutung:

    Parameter    Bedeutung
 
   AMinValue     minimaler Wert fr Value
   AMaxValue     maximaler Wert fr Value
   ABezeichnung  Unterschrift des Reglers
   AMinBez       Beschriftung zum Minimalwert
   AMidBez       Beschriftung zum fr die Mitte
   AMaxBez       Beschriftung zum Maximalwert


In Options werden die Bits ofSelectable und ofFirstClick gesetzt. In
EventMask das Flag evBroadcast.

 siehe auch:

  ofXXXXXXX
  TRegler

TRegler.Done - Destruktor
 

 Deklaration:
   destructor Done; virtual;


 Funktion:

Gibt den von den Beschriftungen belegten Speicher wieder frei und ruft dann
TGView.Done auf, um das Objekt vom Bildschirm zu entfernen.




                  gvdialog, Page #  18   Date 22-7-1996 Monday
                                    -   19 -





 siehe auch:

   Done,TView  (siehe Pascal-Dokumentation)
   Init
   TRegler

TRegler.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);


 Funktion:

Ldt ein TRegler - Objekt aus dem Stream S. Dazu wird zuerst TGView.Load(S)
aufgerufen und dann alle Werte der Felder des Objektes aus dem Stream
gelesen.

 siehe auch:

   Store
   TRegler

TRegler.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream); virtual;


 Funktion:

Schreibt ein TRegler - Objekt in den Stream S. Dazu wird zuerst TGView.Store(S)
aufgerufen und dann alle Werte der Felder des Objektes in den Stream
geschrieben.

 siehe auch:

   Load
   TRegler

TRegler.HandleEvent - Methode
 

 Deklaration:
   procedure HandleEvent(var Event: TEvent); virtual;


 Funktion:

Ruft zunchst zur Behandlung von allen eintreffenden Ereignissen die ererbte
Methode TGView.HandleEvent auf. Dann werden alle das
Objekt betreffenden Maus- und Tastaturereignisse von dieser Methode behandelt.

 siehe auch:

   TRegler

TRegler.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;


 Funktion:

Stellt das TRegler - Objekt auf dem Bildschirm dar. Die Markierung wird an
der Position dargestellt, die dem Wert von Value entspricht



                  gvdialog, Page #  19   Date 22-7-1996 Monday
                                    -   20 -





und die Beschriftungen an den korrespondierenden Stellen ausgegeben.

 siehe auch:

   TRegler

TRegler.SetState - Methode
 

 Deklaration:
   procedure SetState(AState: Word; Enable: Boolean); virtual;


 Funktion:

Ruft lediglich TGView.SetState auf.

 siehe auch:

   TRegler

TRegler.SetData - Methode
 

 Deklaration:
   procedure SetData(var Rec); virtual;


 Funktion:

Kopiert DataSize Bytes Daten fr das Objekt aus Rec.
Sofern nicht berschrieben, wird ein Wert fr Value aus Rec
gelesen.

 siehe auch:

   GetData
   TRegler

TRegler.GetData - Methode
 

 Deklaration:
   procedure GetData(var Rec); virtual;


 Funktion:

Gibt sofern nicht berschrieben den Wert von Value zurck.

 siehe auch:

   SetData
   TRegler

TRegler.DataSize - Methode
 

 Deklaration:
   function DataSize: Word; virtual;


 Funktion:

Die Funktion DataSize gibt die Anzahl der Datenbytes des Objektes zurck.
Sofern nicht berschrieben, liefert die Funktion den Wert SizeOf(Value)
zurck.

 siehe auch:

   Value



                  gvdialog, Page #  20   Date 22-7-1996 Monday
                                    -   21 -





   TRegler

TCluster - Objekt (Unit GVDialog)
 

Ein TCluster stellt ein Feld von Schaltern bereit, die alle auf die gleiche
Weise reagieren. Dieser abstrakte Objekttyp bildet die gemeinsame Grundlage
fr die in Graphics Vision definierten Objekttypen TRadioButtons,
TCheckBoxes und TMultiCheckBoxes.

Whrend Schalter Befehle absetzen und Eingabefelder die Eingabe von Text
erlauben, ermglicht ein TCluster-Objekt dem Benutzer, einzelne Bits im Feld
Value (vom Typ LongInt) zu setzen oder zu lschen.

Graphics Vision definiert drei von TCluster abgeleitete Objekte: TCheckBoxes,
TRadioButtons und TMultiCheckBoxes. Ihre
Eigenschaften entsprechen weitgehend dem in TCluster definierten, mit einer
Ausnahme: Whrend ein im Feld Value von TCheckBoxes gesetztes Bit keine
Auswirkungen auf die anderen Bits dieses Feldes hat, lscht TRadioButtons
zunchst das vorher gesetzte Bit, bevor es ein anderes setzt.
TMultiCheckBoxes stellt ein Mehrfachstatus-Markierungsfeld bereit.

 Felder:

   Value       (siehe Pascal-Dokumentation)
   Sel         (siehe Pascal-Dokumentation)
   EnableMask  (siehe Pascal-Dokumentation)
   Strings     (siehe Pascal-Dokumentation)

 Methoden:

   Init            (siehe Pascal-Dokumentation)
   Load            (siehe Pascal-Dokumentation)
   Done            (siehe Pascal-Dokumentation)
   ButtonState     (siehe Pascal-Dokumentation)
   DataSize        (siehe Pascal-Dokumentation)
   Draw
   DrawItem
   GetData         (siehe Pascal-Dokumentation)
   GetHelpCtx      (siehe Pascal-Dokumentation)
   GetIconNum
   GetItemRect
   HandleEvent     (siehe Pascal-Dokumentation)
   Mark
   MultiMark       (siehe Pascal-Dokumentation)
   Press           (siehe Pascal-Dokumentation)
   MovedTo         (siehe Pascal-Dokumentation)
   SetButtonState  (siehe Pascal-Dokumentation)
   SetData         (siehe Pascal-Dokumentation)
   SetState        (siehe Pascal-Dokumentation)
   Store           (siehe Pascal-Dokumentation)

TCluster.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;




                  gvdialog, Page #  21   Date 22-7-1996 Monday
                                    -   22 -






 Funktion:

Die Methode stellt das Objekt auf dem Bildschirm dar. Um die einzelnen Schalter
auszugeben, wird die Methode DrawItem aufgerufen.

 siehe auch:

   TCluster

TCluster.DrawItem - Methode
 

 Deklaration:
   procedure DrawItem (Item: Integer; Down: Boolean); virtual;


 Funktion:

Stellt den Schalter mit der Nummer Item auf dem Bildschirm dar. Um die
Markierungsboxen (links des Textes) auszugeben, wird die Routine DrawColIcon
benutzt. Dabei wird ber einen Aufruf von GetIconNum
ermittelt, welches Icon dargestellt wird. Wenn Down true ist, wird der Rand der
Markierungsbox hervorgehoben.

 siehe auch:

   Draw
   GetItemRect
   TCluster

TCluster.GetIconNum - Methode
 

 Deklaration:
   function GetIconNum (Id: Byte): Integer; virtual;


 Funktion:

Ermittelt zu dem in Id gegebenen Status eines Schalters die Nummer des Icons,
das von DrawItem auszugeben ist. Id kann folgende Werte
annehmen:


   Id-Nummer       Status
 
       1         Schalter nicht markiert und nicht selektiert
       2         Schalter markiert aber nicht selektiert
       3         Schalter selektiert aber nicht markiert
       4         Schalter selektiert und markiert


In gewisser Weise ersetzt diese Methode damit die Methode DrawBox von Turbo
Vision. Die Methode mu in allen Nachkommen von TCluster berschrieben
werden.

 siehe auch:

   TCluster

TCluster.GetItemRect - Methode
 




                  gvdialog, Page #  22   Date 22-7-1996 Monday
                                    -   23 -





 Deklaration:
   procedure GetItemRect (Item: Integer; var Extent: TRect); virtual;


 Funktion:

Die Methode gibt in Extent den Bildschirmbereich zurck, in dem der Schalter
mit der Nummer Item dargestellt werden mu.
GetItemRect untersttzt auch die Darstellung der Schalter in mehreren Spalten,
wenn der Platz in vertikaler Richtung nicht ausreichen sollte.

 siehe auch:

   DrawItem
   TCluster

TCluster.Mark - Methode
 

 Deklaration:
   function Mark(Item: Integer): Boolean; virtual;


 Funktion:

Diese Methode gibt False zurck. Sie sollten sie berschreiben, damit diese
Methode immer dann True zurckgibt, wenn der Schalter Item des Schaltfelds
markiert werden mu.

DrawItem vergewissert sich mittels dieser Funktion,
welche Optionen markiert sind, und stellt sie entsprechend dar.

 Siehe auch:

   TCluster

TRadioButtons - Objekt (Unit GVDialog)
 

TRadioButtons stellt ein Auswahlfeld zur Verfgung, innerhalb dessen immer
nur ein Schalter aktiv sein kann. Wird ein Schalter gedrckt, wird
automatisch der vorher aktivierte Schalter gelst.

Seine Funktionalitt bezieht dieses Objekt fast gnzlich aus TCluster,
die Methoden Init, Load und Done eingeschlossen.

Objekte des Typs TRadioButtons sind meist mit TLabel-Objekten
verbunden, wodurch die Anwahl eines Schalters ber die Selektion der mit ihm
verbundenen Beschriftung mglich wird.

TRadioButtons interpretiert das Feld TCluster.Value auf spezielle Weise,
nmlich als Nummer des gewhlten Schalters, wobei diese Schalter mit 0
beginnend gezhlt werden.

 Methoden:

   GetIconNum
   Mark
   MovedTo  (siehe Pascal-Dokumentation)
   Press    (siehe Pascal-Dokumentation)
   SetData  (siehe Pascal-Dokumentation)

 siehe auch:




                  gvdialog, Page #  23   Date 22-7-1996 Monday
                                    -   24 -





   Value,TCluster  (siehe Pascal-Dokumentation)

TRadioButtons.GetIconNum - Methode
 

 Deklaration:
   function GetIconNum (Id: Byte): Integer; virtual;


 Funktion:

Setzt den in Id gegebenen Status in die Nummer des entsprechend
auszugebenden Icons um.

 siehe auch:

   TCluster.GetIconNum
   TRadioButtons

TRadioButtons.Mark - Methode
 

 Deklaration:
   function Mark (Item: Integer): Boolean; virtual;


 Funtion:

Gibt True zurck, wenn der Wert im Feld Value gleich Item
ist, also der mit Item bezeichnete Schalter gedrckt ist.

 Siehe auch:

   TCluster.Mark
   TRadioButtons

TCheckBoxes - Objekt (Unit GVDialog)
 

TCheckBoxes ist, wie TRadioButtons auch, ein spezialisierter
Nachkomme von TCluster. Jedoch kann in einem Markierungsfeld, das
ber TCheckBoxes erzeugt wird und bis zu 32 Schalter enthlt, jeder einzelne
Schalter unabhngig von den anderen Schaltern gedrckt werden.

Bettigt wird ein Schalter mittels der Maus, ber die Tastenkombination
[Alt][Buchstabe] oder auch ber die Cursortasten.

Der gerade aktuelle Schalter wird mittels [Leertaste] bettigt. Ist eine
Option gewhlt, erscheint ein Kreuz, ansonsten ist das entsprechende Feld
leer.

Markierungsfelder sind meist mit TLabel-Objekten verbunden, wodurch
die Anwahl eines solchen Schaltfeldes ber die Selektion der mit ihm
verbundenen Beschriftung mglich wird.

Beachten Sie, da TCheckBoxes die von TCluster geerbten Konstruktoren, den
Destruktor und die HandleEvent-Methode nicht berschreibt. Das kann jedoch
fr andere, abgeleitete Objekttypen notwendig werden.

 Methoden:

   GetIconNum
   Mark



                  gvdialog, Page #  24   Date 22-7-1996 Monday
                                    -   25 -





   Press  (siehe Pascal-Dokumentation)

TCheckBoxes.GetIconNum - Methode
 

 Deklaration:
   function GetIconNum (Id: Byte): Integer; virtual;


 Funktion:

Setzt den in Id gegebenen Status in die Nummer des entsprechend
auszugebenden Icons um.

 siehe auch:

   TCluster.GetIconNum
   TCheckBoxes

TCheckBoxes.Mark - Methode
 

 Deklaration:
   function Mark (Item: Integer): Boolean; virtual;


 Funktion:

Gibt True zurck, wenn das Bit Item in Value gesetzt ist. In der Weise, wie
TCheckBoxes das Feld Value interpretiert, bedeutet das, da die Option Item
ausgewhlt ist.

Wenn Ihr abgeleitetes Objekt Value anders interpretieren soll, mssen Sie
diese Methode berschreiben. Per Voreinstellung werden die Items von 0 bis
31 numeriert.

 Siehe auch:

   Press,TCheckBoxes  (siehe Pascal-Dokumentation)
   TCheckBoxes

TMultiCheckBoxes - Objekt (Unit GVDialog)
 

TMultiCheckBoxes stellt Mehrfachstatus-Markierungsfelder in GV bereit.
Es handelt sich hierbei um einen spezialisierten Nachkommen von TCluster.
Ein solches Markierungsfeld kann im Gegensatz zu einem TCheckBoxes-
Objekt mehr als nur zwei verschiedenen Zustnde pro Schalter annehmen.

 Felder:

   SelRange
   Flags
   States
   MyData

 Methoden:

   Init
   Load
   Done
   DataSize   (siehe Pascal-Dokumentation)
   DrawItem
   GetData    (siehe Pascal-Dokumentation)



                  gvdialog, Page #  25   Date 22-7-1996 Monday
                                    -   26 -





   GetIconNum
   MultiMark  (siehe Pascal-Dokumentation)
   Press      (siehe Pascal-Dokumentation)
   SetData    (siehe Pascal-Dokumentation)
   Store

TMultiCheckBoxes.SelRange - Feld
 

 Deklaration:
   SelRange: Byte;


 Funktion:

Speichert die Zahl der Zustnde, die das TMultiCheckBoxes
annehmen kann.

TMultiCheckBoxes.Flags - Feld
 

 Deklaration:
   Flags: Word;


 Funktion:

Flags ist ein Feld, dessen einzelne Bits als cfXXXX-Konstanten definiert sind.

 Siehe auch:

  cfXXXX-Konstanten  (siehe Pascal-Dokumentation)
  TMultiCheckBoxes

TMultiCheckBoxes.States - Feld
 

 Deklaration:
   States: Pointer;


 Funktion:

In GV werden zur Darstellung des Status von TCluster-Objekten
und seinen Nachkommen keine Zeichen, wie in TV, verwendet, sondern Bitmaps.

States speichert die Bitmaps, die zu den einzelnen Zustnden des Markierungsfeldes
gehren. Sie mssen im folgenden Format vorliegen:

          - ein Wort, das die Lnge der eigentlichen Bitmap in Zeilen
            (jede Zeile entspricht einem 16 Bit Wort) speichert
          - die Bitmap als Abfolge von 16 Bit Worten

        Beispiel:

        DW      13                  { erste Bitmap }
        DW      0000000000000000B
        DW      0000000000000000B
        DW      0011111111100000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B



                  gvdialog, Page #  26   Date 22-7-1996 Monday
                                    -   27 -





        DW      0000001000000000B
        DW      0000001000000000B
        DW      0011111111100000B
        DW      0000000000000000B
        DW      0000000000000000B
        DW      13                  { zweite Bitmap }
        DW      0000000000000000B
        DW      0000000000000000B
        DW      0011111111100000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0011111111100000B
        DW      0000000000000000B
        DW      0000000000000000B

        Mehrere Bitmaps werden einfach aneinandergehngt.

Hinweis: Wenn Sie die Bitmaps als Daten (z.B. auf dem Heap) erzeugen,
dann mssen Sie auch dafr sorgen, da bei Beendigung des Programms der
Speicher, den diese Daten benutzen, wieder freigegeben wird. Wenn ein
TMultiCheckboxes Objekt aus einem Stream geladen wird, dann legt es die
Bitmaps auf dem Heap ab und sorgt selbst fr die (De)allozierung des
erforderlichen Speichers.

 siehe auch:

   MyData
   Init
   TMultiCheckBoxes

TMultiCheckBoxes.MyData - Feld
 

 Deklaration:
   MyData: Boolean;


 Funktion:

MyData speichert, ob die Daten in States dem Objekt
selbst "gehren".
Ist MyData true, so wird davon ausgegangen das die Bitmaps
in States^ als Daten auf dem Heap liegen und entsprechend gibt
TMultiCheckBoxes.Done diesen Speicher frei.

Standardmig wird die Variable von Init auf false
gesetzt.
Wird ein TMultiCheckBoxes-Objekt jedoch ber Load
erzeugt wird MyData auf true gesetzt.

 siehe auch:

   TMultiCheckBoxes




                  gvdialog, Page #  27   Date 22-7-1996 Monday
                                    -   28 -





TMultiCheckBoxes.Init - Konstruktor
 

 Deklaration:

    constructor Init(var Bounds: TRect; AStrings: PSItem;
      ASelRange: Byte; AFlags: Word; AStates: Pointer);


 Funktion:

Ruft zuerst TCluster.Init(Bounds, AStrings) auf, um ein Feld von Schaltern
zu erzeugen. Dann werden die Felder SelRange,
Flags und States mit den
gegebenen Werten belegt. MyData erhlt der Wert
false.
Hinweis: Gnstig ist es, die Bitmaps nicht auf dem Heap zu erzeugen,
sondern als Assembler-Routine im Code-Segment abzulegen. Das sieht dann
folgendermaen aus:


 procedure MultiStates; Assembler;
 Asm
        DW      13                  { erste Bitmap }
        DW      0000000000000000B
        DW      0000000000000000B
        DW      0011111111100000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0000001000000000B
        DW      0011111111100000B
        DW      0000000000000000B
        DW      0000000000000000B
        DW      13                  { zweite Bitmap }
        DW      0000000000000000B
        DW      0000000000000000B
        DW      0011111111100000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0000100010000000B
        DW      0011111111100000B
        DW      0000000000000000B
        DW      0000000000000000B
 end;


Der Aufruf von Init sieht dann z.B. so aus:




                  gvdialog, Page #  28   Date 22-7-1996 Monday
                                    -   29 -





 ...
 Insert(New(PMultiCheckBoxes, Init(R, NewSItem (.....), 2, cfOneBit,
    @MultiStates);
 ...


 siehe auch:

   Init,TCluster  (siehe Pascal-Dokumentation)
   TMultiCheckBoxes

TMultiCheckBoxes.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);


 Funktion:

Erzeugt ein Feld von Schaltern mit mehreren Zustnden und ldt es aus dem
Stream S, indem zuerst der von TCluster geerbte Load-Konstruktor aufgerufen
wird und danach die Felder von TMultiCheckBox aus dem Stream gelesen werden.
Die Bitmaps, die die verschiedenen Zustnde auf dem Bildschirm reprsentieren,
werden auf dem Heap abgelegt. MyData wird auf true
gesetzt.

 Siehe auch:

    Load,TCluster  (siehe Pascal-Dokumentation)
    TMultiCheckBoxes

TMultiCheckBoxes.Done - Destruktor
 

 Deklaration:
   destructor Done; virtual;


 Funktion:

Gibt den von States belegten Speicher wieder frei,
sofern MyData true ist und ruft danach
TCluster.Done auf, um das Objekt vom Bildschirm zu entfernen.

 siehe auch:

   Done,TCluster  (siehe Pascal-Dokumentation)
   TMultiCheckBoxes

TMultiCheckBoxes.DrawItem - Methode
 


 Deklaration:
   procedure DrawItem (Item: Integer; Down: Boolean); virtual;


 Funktion:

Stellt den Schalter mit der Nummer Item auf dem Bildschirm dar. Um die
Markierungsboxen (links des Textes) auszugeben, werden die Bitmaps in
States benutzt. Diese werden zustzlich mit einem
Rahmen (entspricht einem Icon von TCheckBoxes) versehen.

 siehe auch:




                  gvdialog, Page #  29   Date 22-7-1996 Monday
                                    -   30 -





   TCluster.DrawItem
   GetIconNum
   TMultiCheckBoxes

TMultiCheckBoxes.GetIconNum - Methode
 

 Deklaration:
   function GetIconNum (Id: Byte): Integer; virtual;


 Funktion:

Die Methode gibt die Nummern der Icons zurck, die den in DrawItem
bentigten Rahmen entsprechen.

 siehe auch:

   TMultiCheckBoxes

TMultiCheckBoxes.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream); virtual;


 Funktion:

Schreibt ein TMultiCheckBoxes-Objekt in den Stream S. Dazu wird zuerst
TCluster.Store(S) aufgerufen und anschlieend der Inhalt der einzelnen Felder
geschrieben.

 siehe auch:

   Store,TCluster  (siehe Pascal-Dokumentation)
   TMultiCheckBoxes

TListBox - Objekt (Unit GVDialog)
 

TListBox ist ein von TListViewer abgeleitetes Objekt, das Ihnen
ermglicht, Listen miteinander verketteter Objekte, zum Beispiel eine Liste
von Dateinamen, auszugeben. Dabei wird eine Bildlaufleiste untersttzt.

Die von TListViewer geerbten Methoden erlauben die Selektion eines Eintrags
der Liste mittels der Maus oder ber die Cursortasten. Dieses Objekt
berschreibt weder die geerbte HandleEvent- noch die Draw-Methode.

Das Objekt TListBox definiert das Feld List, das sein Vorgnger TListViewer
nicht besitzt. Dieses Feld speichert einen Zeiger auf ein
TCollection-Objekt, das die darzustellenden Eintrge bereithlt. Was diese
Kollektion enthlt, liegt in Ihrer Verantwortung, und das gilt auch fr die
Aktion, die ausgelst wird, wenn ein Eintrag der Liste selektiert ist.

Da TListBox keinen Done-Destruktor definiert, sondern den von TGView geerbten
benutzt, liegt es ebenfalls in Ihrer Verantwortung, den von den Eintrgen in
List belegten Speicherplatz wieder freizugeben, wenn die Liste nicht mehr
gebraucht wird. Ein Aufruf der Methode NewList gibt den von der alten Liste
belegten Speicher frei. Rufen Sie daher NewList(nil) und dann erst den
Done-Destruktor auf, wenn das Objekt freizugeben ist.




                  gvdialog, Page #  30   Date 22-7-1996 Monday
                                    -   31 -





 Felder:

   List     (siehe Pascal-Dokumentation)
   NewFocus

 Methoden:

   Init
   Load
   DataSize  (siehe Pascal-Dokumentation)
   GetData   (siehe Pascal-Dokumentation)
   GetText   (siehe Pascal-Dokumentation)
   NewList
   SetData   (siehe Pascal-Dokumentation)
   Store

TListBox.NewFocus - Feld
 

 Deklaration:
   NewFocus: Integer;


 Funktion:

NewFocus ist ein Hilfsfeld, da intern von GV benutzt wird. Wird NewList
aufgerufen, so wird der Eintrag mit dem Index NewFocus fokussiert.
Standardmig ist dies der erste.

 siehe auch:

   TListBox

TListBox.Init - Konstruktor
 

 Deklaration:
   constructor Init(var Bounds: TRect; AScrollBar: PScrollBar);


 Funktion:

Erstellt ein TListBox-Objekt von der in Bounds angegebenen Gre, mit
einer ber AScrollBar referenzierten Bildlaufleiste.
Dieser Konstruktor ruft TListViewer.Init auf.

Das Feld List wird auf nil gesetzt und Range auf 0. Die Liste ist also
zunchst leer. Ihr Programm mu ein TCollection-Objekt, das die
darzustellenden Eintrge speichert, bereitstellen und mittels NewList einen
Zeiger darauf in List ablegen.

NewFocus wird auf 0 gesetzt.

 Siehe auch:

   NewList
   TListBox

TListBox.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);


 Funktion:




                  gvdialog, Page #  31   Date 22-7-1996 Monday
                                    -   32 -





Erstellt ein TListBox-Objekt und initialsiert es mit den aus dem angegebenen
Stream gelesenen Werten. Dazu ruft dieser Konstruktor TListViewer.Load(S)
auf und liest ber S.Get den List-Zeiger ein.
Auerdem wird der Wert von NewFocus gelesen.

 siehe auch:

   Store
   TListViewer.Load
   TStream.Get  (siehe Pascal-Dokumentation)
   TListBox

TListBox.NewList - Methode
 

 Deklaration:
   procedure NewList(AList: PCollection); virtual;


 Funktion:

Ist AList ungleich nil, ersetzt die ber AList referenzierte Datenliste die
aktuelle Liste, auf die List zeigt. Das Feld Range wird auf den Wert des
Feldes Count der neuen TCollection gesetzt, deren Eintrag mit der Nummer
NewFocus ber FocusItem(NewFocus) fokussiert wird.
Schlielich wird durch einen Aufruf von DrawView die Darstellung der Liste
veranlat. Beachten Sie, da der von der alten Liste eventuell belegte
Speicher freigegeben wird, bevor die neuen Werte bernommen werden.

 Siehe auch:

  TListBox.SetData  (siehe Pascal-Dokumentation)
  TListViewer.FocusItem  (siehe Pascal-Dokumentation)
  TGView.DrawView
  TListBox

TListBox.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream); virtual;


 Funktion:

Schreibt ber TListViewer.Store(S) ein TListBox-Objekt, dann mittels
S.Put(List) die Liste und zuletzt den Wert von NewFocus
in den angegebenen Stream.

 Siehe auch:

  Load
  TListViewer.Store
  TStream.Put  (siehe Pascal-Dokumentation)
  TListBox

TStaticText - Objekt (Unit GVDialog)
 

TStaticText ist das einfachste aller in Graphics Vision definierten
View-Objekte: es beschrnkt sich darauf, einen Text auszugeben, und reagiert
weder auf Tastatur- noch auf Mausereignisse. Objekte dieses Typs werden fr
Meldungen oder Beschriftungen eingesetzt.



                  gvdialog, Page #  32   Date 22-7-1996 Monday
                                    -   33 -






 Felder:

   Text     (siehe Pascal-Dokumentation)

 Methoden:

   Init     (siehe Pascal-Dokumentation)
   Done     (siehe Pascal-Dokumentation)
   Load     (siehe Pascal-Dokumentation)
   Store    (siehe Pascal-Dokumentation)
   GetText  (siehe Pascal-Dokumentation)
   Draw     (siehe Pascal-Dokumentation)

TParamText - Objekt (Unit GVDialog)
 

TParamText ist ein Nachkomme von TStaticText und dient dazu,
ber die Prozedur FormatStr Strings auszugeben, die Formatanweisungen
enthalten.

 Felder:

   ParamCount  (siehe Pascal-Dokumentation)
   ParamList   (siehe Pascal-Dokumentation)

 Methoden:

   Init        (siehe Pascal-Dokumentation)
   Load        (siehe Pascal-Dokumentation)
   DataSize    (siehe Pascal-Dokumentation)
   GetText     (siehe Pascal-Dokumentation)
   SetData     (siehe Pascal-Dokumentation)
   Store       (siehe Pascal-Dokumentation)

TStaticSign - Objekt (Unit GVDialog)
 

TStaticSign ist das grafische Pendant zu TStaticText. Das Objekt gibt lediglich
eine Bitmap aus und reagiert weder auf Maus noch auf Tastaturereignisse.

 Felder:

   Sign

 Methoden:

   Init
   Load
   Done
   Store
   Draw

TStaticSign.Sign - Feld
 

 Deklaration:
   Sign: Pointer;


 Funktion:

Sign ist ein Zeiger auf die Bitmap, die von dem ausgegeben werden



                  gvdialog, Page #  33   Date 22-7-1996 Monday
                                    -   34 -





soll. Die Bitmap kann eine beliebige Gre haben.

 siehe auch:

   TStaticSign

TStaticSign.Init - Konstruktor
 

 Deklaration:
   constructor Init (var Bounds:TRect; ASign:Pointer);


 Funktion:

Erzeugt ein TStaticSign-Objekt in der in Bounds angegebenen Gre.
Dann wird ber GetMem Speicher fr die Bitmap alloziert. Die in ASign^
gegebene Bitmap wird in Sign^ kopiert. Beachten Sie, da die Bitmap ASign^
weiterhin Speicher belegt. Sie mssen diesen selbst freigeben.

 siehe auch:

   TStaticSign

TStaticSign.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);


 Funktion:

Ldt ein TStaticSign-Objekt aus dem Stream S. Dabei wird zuerst
TGView.Load aufgerufen und dann die Bitmap aus S gelesen und in
Sign^ abgelegt.

 siehe auch:

   Store
   TStaticSign

TStaticSign.Done - Destructor
 

 Deklaration:
   destructor Done; virtual;


 Funktion:

Gibt den von Sign belegten Speicher frei und ruft dann TGView.Done auf,
um das Objekt vom Bildschirm zu entfernen.

 siehe auch:

   Done,TView  (siehe Pascal-Dokumentation)
   TStaticSign

TStaticSign.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream); virtual;


 Funktion:

Schreibt ein TStaticSign-Objekt in den Stream S. Dabei wird zuerst
TGView.Store aufgerufen und dann die Bitmap in



                  gvdialog, Page #  34   Date 22-7-1996 Monday
                                    -   35 -





Sign^ in S geschrieben.

 siehe auch:

   Load
   TStaticSign

TStaticSign.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;


 Funktion:

Stellt das Objekt auf dem Bildschirm dar. Die Bitmap wird dabei mit der Farbe,
auf die Paletteneintrag 2 verweist, unterlegt.

 siehe auch:

   TStaticSign

TLabel - Objekt (Unit GVDialog)
 

TLabel ist ein Nachkomme von TStaticText, unterscheidet sich von diesem aber
dadurch, da ein Label mittels der Maus, ber die Cursortasten oder auch
ber eine Tastenkombination aus [Alt][Buchstabe] selektiert werden kann.
Normalerweise ist ein Label ber einen PGView-Zeiger mit einem anderen
Dialogelement, einem Eingabefeld, einem Auswahlfenster oder einem
Schaltfeld, verbunden.

Wird das Label selektiert, wird auch das verbundene Element selektiert. Wird
umgekehrt dieses Dialogelement selektiert, wird auch das Label hervorgehoben
dargestellt.

 Felder:

   Link         (siehe Pascal-Dokumentation)
   Light        (siehe Pascal-Dokumentation)

 Methoden:

   Init         (siehe Pascal-Dokumentation)
   Load         (siehe Pascal-Dokumentation)
   Draw         (siehe Pascal-Dokumentation)
   HandleEvent  (siehe Pascal-Dokumentation)
   Store        (siehe Pascal-Dokumentation)

TIcon - Objekt (Unit GVDialog)
 

TIcon ist ein Nachkomme von TStaticSign. Die Funktionalitt ist
identisch mit TLabel. Der einzige Unterschied besteht darin, da
TIcon statt eines Textes eine kleine Bitmap ausgibt. Informationen zu Feldern
und Methoden erhalten Sie unter TLabel bzw. unter TStaticSign.


THistoryViewer - Objekt (Unit GVDialog)
 



                  gvdialog, Page #  35   Date 22-7-1996 Monday
                                    -   36 -






THistoryViewer ist ein Nachkomme von TListViewer und dafr
zustndig, eine Liste von Eingabewerten innerhalb eines Fensters auszugeben,
fr dessen Darstellung wiederum das Objekt THistoryWindow verantwortlich ist.

 Felder:

   HistoryId     (siehe Pascal-Dokumentation)

 Methoden:

   Init          (siehe Pascal-Dokumentation)
   GetText       (siehe Pascal-Dokumentation)
   HandleEvent   (siehe Pascal-Dokumentation)
   HistoryWidth  (siehe Pascal-Dokumentation)

THistoryWindow - Objekt (Unit GVDialog)
 

THistoryWindow ist ein Nachkomme von TWindow und verwaltet das
Fenster, innerhalb dessen ein THistoryViewerObjekt vorher gespeicherte
Eingabewerte darstellt. Dieses Fenster besitzt weder einen Titel, noch wird
ihm eine Nummer zugewiesen. Es hat auch kein Schlie- oder Zoomfeld und kann
weder seine Gre, noch seine Position ndern.

 Felder:

   Viewer        (siehe Pascal-Dokumentation)

 Methoden:

   Init          (siehe Pascal-Dokumentation)
   GetSelection  (siehe Pascal-Dokumentation)
   InitViewer    (siehe Pascal-Dokumentation)

THistory - Objekt (Unit GVDialog)
 

Ein THistory-Objekt ist immer mit einem Objekt des Typs TInputLine verbunden
und stellt eine Liste vorher gettigter Eingaben bereit.

Der Benutzer kann einen Eintrag aus dieser Liste auswhlen, was ihm die
wiederholte Eingabe gleicher Werte erspart.

Ein THistory-Objekt macht sich rechts neben einem Eingabefeld durch einen
kleinen Schalter mit einem nach unten weisenden Pfeil bemerkbar. Drckt der
Benutzer diesen Schalter, ffnet sich ein Fenster (zustndiges Objekt:
THistoryWindow) mit einer Liste vorher gettigter Eingaben
(zustndiges Objekt: THistoryViewer).

Verschiedene Eingabefelder knnen auf die gleiche Liste vorheriger Eingaben
zurckgreifen, wenn sie das THistory-Objekt mit der gleichen
HistoryID-Nummer ansprechen.

 Felder:

   Link               (siehe Pascal-Dokumentation)
   HistoryId          (siehe Pascal-Dokumentation)




                  gvdialog, Page #  36   Date 22-7-1996 Monday
                                    -   37 -





 Methoden:

   Init               (siehe Pascal-Dokumentation)
   Load               (siehe Pascal-Dokumentation)
   Draw
   HandleEvent        (siehe Pascal-Dokumentation)
   InitHistoryWindow  (siehe Pascal-Dokumentation)
   RecordHistory      (siehe Pascal-Dokumentation)
   Store              (siehe Pascal-Dokumentation)

THistory.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;


 Funktion:

Gibt das Listensymbol als Schalter mit einem nach unten weisenden Pfeil
in den ber GetPalette ermittelten Farben aus.

 siehe auch:

   THistory





































                  gvdialog, Page #  37   Date 22-7-1996 Monday
