                                    -    1 -






Allgemeine Informationen
 

Graphics Vision
Graphics Vision wurde speziell fr Sie als professionellen Programmierer
entwickelt. Es stellt unter Turbo Pascal fr DOS, Version 7.0, eine
Klassenbibliothek zur Erstellung grafischer Oberflchen im Microsoft(R)-
Window(TM)-Look zur Verfgung. Die Software ist vollstndig zu Borlands
Textoberflche Turbo Vision 2.0 kompatibel und bietet darberhinaus viele
Erweiterungen.

Graphics Vision (GV) besteht aus mehreren Turbo Pascal Units.
Dies sind:

     ExtGraph
     KeyNames
     GVDriver
     GVisible
     GVWinNum
     GVTexts
     GVViews
     GVDialog
     GVMenus
     GVApp
     GVValid
     GVStdDlg
     GVWList
     GVMsgBox
     GVGadget
     GVEdit
     GVHelp
     GVColor
     GVClock
     GVWindlg
     GVGauges
     GVBitmap
     GVFiler
     GVFonts

Graphics Vision baut, ausgehend von der grundlegenden Turbo-Vision-Klasse
TView, eine Klassenbibliothek zur Erstellung grafischer Oberflchen auf, die
folgende Leistungsmerkmale aufweist:

  1. Erstellung beliebiger, hierarchisch gegliederter, nutzerdefinierter
     PullDown Mens. Einzelne Menpunkte knnen per Maus, ber die Tastatur
       (ShortCut oder Kursortasten) oder durch Hotkeys angewhlt werden.

  2. Intelligentes Fenstermanagement. Verwaltung beliebig vieler (auch
     verschiedener) Fenster auf dem sog. Desktop mit den bekannten Funktionen, wie
     z.B. Zoomen, Verschieben, Vergrern usw.

  3. Beliebige nutzerdefinierte Dialogfenster, mit den aus Turbo Vision
     bekannten Elementen (z.B. Buttons, CheckBoxes, RadioButtons, InputLines,



                  gvision, Page #   1   Date 7-3-1996 Thursday
                                    -    2 -





     StaticTexts, Labels, ListBoxes u.v.a)

  4. Verwendung von Hotkeys. Die aus Turbo Vision bekannten Tastatur-
     krzel fr bestimmte Funktionen knnen auch in Graphics Vision verwendet
     werden.

  5. Kontextsensitive Hinweise in der Statuszeile. Graphics Vision ermglicht
     es, Hinweise zu Menpunkten oder zu Elementen von (Dialog-)Fenstern
     in der Statuszeile zu geben.

  6. Verwendung Helpfiles, die mit dem Turbo Vision Hilfe Compiler erzeugt
     wurden.

  7. Datenvalidierung durch die von Turbo Vision bekannten Validierungs-
     objekte.

  8. Viele fertige Standarddialoge (ffnen, ChDir, Fensterliste, Schriften
     installieren u.v.a.m.)

  9. Verbesserte Maussteuerung durch Nutzung von MyMouse, Version 1.5.
     Weitere Informationen siehe in der MyMouse Dokumentation.

 10. Anpassung des Mauszeigers an verschiedene Objekte. Durch Verwendung von
     MyMouse werden die aus Windows bekannten Mauszeigerformen fr Fenster-
     rnder bzw. Eingabezeilen oder das Uhrglas auch in Graphics Vision
     nutzbar.

 11. Untersttzung von Resourcendateien. Mens, Statuszeile und Dialogfenster
     werden nicht mehr "life" im Programm erzeugt, sondern aus einer Datei
     geladen, was zu einer Codeoptimierung in Ihren Programmen fhrt.

 12. Untersttzung von Windows-Resourcen. Erstellen Sie Ihre Graphics Vision
     Resource mit dem Resourceworkshop unter Windows.

 13. Nutzung der hochoptimierten Grafikroutinen des MetaGraph Paketes,
     Version 1.0, zur schnellen Darstellung der Objekte.
     Die Routinen greifen direkt auf die VGA-Karte zu und ermglichen damit
     die schnellstmgliche Darstellung von Fenstern, Mens u.s.w.
     (weitere Informationen in der MetaGraph Dokumentation)

 14. Nutzung von optional vorhandenen Windows-Fonts (Bitmap, Vector,
     TrueType).
     Grafische Texte mssen nicht lnger mit den Turbo Pascal eigenen
     BGI-Fonts ausgegeben werden. Bei nicht vorhandenen Windows-Fonts
     werden automatisch BIOS-Fonts genutzt.

 15. Verwendung von Bitmaps in Fenstern und als Dialogelemente.

 16. Zusammenarbeit mit dem Borland(R) Graphics Interface (BGI). Obwohl
     Graphics Vision die Routinen des MetaGraph Paketes verwendet, die, um
     eine optimale Geschwindigkeit zu erreichen, direkt auf die VGA-Karte
     zugreifen, ist es mglich, BGI-Routinen zu verwenden.

 17. Graphics Vision ist grundstzlich mehrsprachig. Geliefert wird Graphics



                  gvision, Page #   2   Date 7-3-1996 Thursday
                                    -    3 -





     Vision mit deutschen und englischen Texten. Es werden jedoch beliebig viele
     Sprachen untersttzt.

 18. Graphics Vision ist vollstndig DPMI-fhig! Dadurch steht Ihnen
     endlich ausreichend Speicher fr Ihre leistungsfhigen Graphics-Vision-
     Anwendungen zur Verfgung.

 19. Graphics Vision 2.09 ist vollstndig zu dem mit Borland(R) Pascal 7.0
     gelieferten Turbo Vision 2.0 kompatibel.

 20. Graphics Vision bietet viele Beispiele, die alle Standardobjekte sowie
     die Erweiterungen gegenber Turbo Vision demonstrieren.

Weitere Informationen

       Systemvoraussetzungen
       Mitgelieferte Graphikpakete
       Warenzeichen

Systemvoraussetzungen fr Graphics Vision
 

Graphics Vision luft auf allen 100%-IBM kompatiblen PCs (mindestens
80286-Prozessor) mit VGA-Karte.
Empfehlenswert ist die Verwendung einer Microsoft(R) kompatiblen Maus.
(Dies ist jedoch nicht zwingend erforderlich. Die mit Graphics Vision
erstellten Oberflchen sind selbstverstndlich vollstndig mit der Tastatur
bedienbar.)
Das verwendete Betriebssystem sollte MS-DOS oder ein Vergleichbares (z.B.
Novell-DOS) sein. Da es sich bei Graphics Vision um Units handelt, bentigt man
Borlands Turbo Pascal, Version 7.0.

WARENZEICHEN
 

Microsoft ist ein eingetragenes Warenzeichen der Microsoft Corp., Inc.
Windows ist ein Warenzeichen der Microsoft Corp., Inc.
Mouse Systems ist ein eingetragenes Warenzeichen der Mouse Systems Corp.
Borland ist ein eingetragenes Warenzeichen der Borland International, Inc.
Alle weiteren Warenzeichen werden ebenso anerkannt.

Mitgelieferte Graphikpakete
 

Mit Graphics Vision werden leistungsfhige Graphikpakete geliefert.

MyMouse
    MyMouse untersttzt die fortgeschrittene Kontrolle der Maus,
    indem automatische Zeigeranpassung, groe Mauszeiger, Entflackerung
    und vieles mehr untersttzt werden.

VgaMem
    VgaMem bietet leistungsfhige Kopierroutinen auf VGA- und SVGA-
    Karten, um Fenstermanagement und Zeichenoperationen effizient



                  gvision, Page #   3   Date 7-3-1996 Thursday
                                    -    4 -





    ausfhren zu knnen.

MetaGr
    MetaGr ist ein komplettes Graphikpaket, welches anstelle der
    Graph-Unit eingesetzt wird, um hhere Geschwindigkeit zu erzielen.
    Das entscheidende Feature ist die Unterstzung des Metafilings.

MyFonts/TrueTypeFonts
    MyFonts/TrueTypeFonts untersttzen die Verwendung von verschiedenen
    Schriftarten, insbesondere Windows-Schriftarten, TrueType-Schriftarten
    und BIOS-Schriftarten.

Bitmap
    Bitmap dient der Verwendung von Windows-Bitmaps verschiedener
    Farbtiefen, mit denen Sie Ihre Programme ausstatten knnen.

Die Dokumentationen zu diesen Paketen finden Sie im DOC-Verzeichnis.

BGI-Unit
 
Diese Unit bereitet die Routinen der Unit Graph fr die effiziente
Verwendung innerhalb von Graphics Vision vor.

Binden Sie BGI nach der Unit Graph ein, und Sie werden smtliche
Routinen nutzen knnen. Die Datenstrukturen der Unit Graph sind
nicht redefiniert worden. Alle Routinen sind metafile-fhig!

Funktionen und Prozeduren
  Arc              
  Bar              
  Bar3D            
  Circle           
  ClearDevice      
  ClearViewPort    
  CloseGraph       
  DetectGraph      
  Drawpoly         
  Ellipse          
  FillEllipse      
  FillPoly         
  FloodFill        
  GetArcCoords     
  GetAspectRatio   
  GetBkColor       
  GetColor         
  GetDefaultPalette
  GetDriverName    
  GetFillPattern   
  GetFillSettings  
  GetGraphMode     
  GetImage         
  GetLineSettings  
  GetMaxColor      
  GetMaxMode       



                  gvision, Page #   4   Date 7-3-1996 Thursday
                                    -    5 -





  GetMaxX          
  GetMaxY          
  GetModeName      
  GetModeRange     
  GetPalette       
  GetPaletteSize   
  GetPixel         
  GetTextSettings  
  GetViewSettings  
  GetX             
  GetY             
  GraphDefaults    
  GraphErrorMsg    
  GraphResult      
  ImageSize        
  InitGraph        
  InstallUserDriver
  InstallUserFont  
  Line             
  LineRel          
  LineTo           
  MoveRel          
  MoveTo           
  OutText          
  OutTextXY        
  PieSlice         
  PutImage         
  PutPixel         
  Rectangle        
  RegisterBGIdriver
  RegisterBGIfont  
  RestoreCrtMode   
  Sector           
  SetActivePage    
  SetAllPalette    
  SetAspectRatio   
  SetBkColor       
  SetColor         
  SetFillPattern   
  SetFillStyle     
  SetGraphBufSize  
  SetGraphMode     
  SetLineStyle     
  SetPalette       
  SetRGBPalette    
  SetTextJustify   
  SetTextStyle     
  SetUserCharSize  
  SetViewPort      
  SetVisualPage    
  SetWriteMode     
  TextHeight       
  TextWidth        




                  gvision, Page #   5   Date 7-3-1996 Thursday
                                    -    6 -





Details zu BGI entnehmen Sie bitte der Dokumentation im Verzeichnis DOC.

ExtGraph-Unit
 

Extgraph ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes. Extgraph stellt Routinen zur grafischen Ausgabe bereit.

Variablen und Konstanten
   SignX bzw. SignY
   ftXXXXXX

Prozeduren und Funktionen
   RBar
   RRect
   OutTextP
   GetShortCut
   OutGVText
   SetGVStyle
   PutGVImage
   DrawButton

SignX, SignY - Variablen (Unit ExtGraph)
 

 Deklaration:
  const SignX:Byte=30; SignY: Byte=20;

 Funktion:
Diese Konstanten haben keine Funktion in der vorliegenden Version von GV.

In frheren Versionen legten sie die Gre von Grafiken fr TGButton, TIcon und
TStaticSign Objekte fest. In der vorliegenden Version
knnen beliebig groe Grafiken verwendet werden.

ftXXXXXXX-Konstanten (Unit ExtGraph)
 

 Deklaration:
  const ftSystem, ftSansserif, ftMonoSpace

 Funktion:
Die drei von GV verwendeten Schriftarten werden beim Aufruf von
SetTextParams benutzt.

RBar-Prozedur (Unit ExtGraph)
 

 Deklaration:
  Procedure RBar (var R: TRect);

 Funktion:
Stellt ein ausgeflltes Rechteck mit den in R gegebenen Koordinaten in der
momentan gesetzten Fllfarbe dar. Sie sollten, um eine hhere



                  gvision, Page #   6   Date 7-3-1996 Thursday
                                    -    7 -





Ausgabegeschwindigkeit zu erreichen, wenn mglich stets MetaGraph.Bar
benutzen.

 siehe auch:
  RRect

RRect-Prozedur (Unit ExtGraph)
 

 Deklaration:
  Procedure RRect (var R: TRect);

 Funktion:
Stellt ein Rechteck mit den in R gegebenen Koordinaten in der momentan
gesetzten Zeichenfarbe dar. Sie sollten im Interesse einer hohen
Ausgabegeschwindigkeit immer MetaGraph.Rectangle benutzen.

 siehe auch:
  RBar

OutTextP-Prozedur (Unit ExtGraph)
 

 Deklaration:
  Procedure OutTextP (P: TPoint; S: String);

 Funktion:
Gibt den Text S am Punkt P aus. Diese Routine sollte von GV-Nutzern nicht
benutzt werden.

 siehe auch:
  OutGVText

GetShortCut-Funktion (Unit ExtGraph)
 

 Deklaration:
  Function GetShortCut (S: String): Char;

 Funktion:
Gibt das erste Zeichen des in Tilden eingeschlossen Teilstrings oder
das Zeichen #255, wenn kein solcher Teilstring existiert, zurck.

OutGVText-Prozedur (Unit ExtGraph)
 

 Deklaration:
  Procedure OutGVText (P: TPoint; S: String; Col1, Col2: Byte;
      Size: TPoint; Center: Boolean);

 Funktion:
Diese Routine gibt den Text S am Punkt P in der Farbe Col1 aus. In Tilden
eingeschlossene Teilstrings werden in der Farbe Col2 dargestellt.
Sollte der Text grer als Size (Angabe in Pixeln) sein, so wird er



                  gvision, Page #   7   Date 7-3-1996 Thursday
                                    -    8 -





abgeschnitten.
Center legt fest, ob der Text horizontal zentriert wird.

SetGVStyle-Prozedur (Unit ExtGraph)
 

 Deklaration:
  Procedure SetGVStyle (AFont: Integer);

 Funktion:
Setzt die in AFont angegebene Schriftart.
AFont hat einen der Werte der Konstanten ftXXXXXX.

PutGVImage-Prozedur (Unit ExtGraph)
 

 Deklaration:
  PutGVImage (var R: TRect; Sign: Pointer; BkCol: Byte);

 Funktion:
Gibt die durch Sign referenzierte Bitmap in R aus, wobei ein Rahmen in der
Farbe BkCol um die Grafik herum dargestellt wird.
PutGVImage benutzt die VGAMem-Routine PutImage. Sie sollten deshalb Bitmaps,
die ber diese Routine ausgegeben werden, mit VGAMem.GetImage abspeichern.

DrawButton-Prozedur (Unit ExtGraph)
 

 Deklaration:
  Procedure DrawButton (var R: TRect; Down, Small: Boolean;
      BkCol, FrameCol, NormCol, ShadowCol: Byte);

 Funktion:
Zeichnet einen Schalter mit den in R gegebenen Koordinaten. Down gibt an,
ob der Schalter gedrckt ist. Ist Small true, wird ein Schalter mit
"kleinem" Rand gezeichnet (z.B. Zoom-Schalter oder ScrollBar-Schalter).
Die anderen Parameter geben die Darstellungsfarben wie folgt an:

  BkCol    : Hintergrundfarbe
  FrameCol : Farbe des Rahmens
  NormCol  : Farbe der Schalterflche
  ShadowCol: Farbe des Schalterschattens

KeyNames - Unit
 

KeyNames ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
KeyNames stellt drei ntzliche Funktionen bereit, die die lndersprachliche
Anpassung Ihrer GV-Programme untersttzen. Die Routinen ersparen Ihnen,
Namen von Tastenkombinationen individuell zu bersetzen.

Prozeduren
  KN



                  gvision, Page #   8   Date 7-3-1996 Thursday
                                    -    9 -





  NewItemKN
  AddAccelerators

siehe auch
  GVTexts

KN - Funktion (Unit KeyNames)
 

 Deklaration:
   function kn(KeyCode: Word): string;

 Funktion:
KN ermittelt zu einem in KeyCode gegebenen Tastencode die lndersprachlich
korrekte Tastenbezeichnung.

 siehe auch:
   NewItemKN

NewItemKN - Funktion (Unit KeyNames)
 

 Deklaration:
   function NewItemKn(Name: TMenuStr; KeyCode: Word; Command: Word;
    AHelpCtx: Word; Next: PMenuItem): PMenuItem;

 Funktion:
Setzen Sie NewItemKN anstelle von NewItem ein, um rechts im Meneintrag
die lndersprachlich korrekte Bezeichnung des in KeyCode angegebenen Tastencodes
erscheinen zu lassen.

Gegenber NewItem ist die Parameterliste um den Parameter Param
verkrzt worden, da dieser automatisch aus dem KeyCode gebildet wird.

 siehe auch:
   KN
   NewItem

NewStatusKeyKn-Funktion  (Unit KeyNames)
 
 
function NewStatusKeyKn(Text: String; KeyCode: Word; Command: Word;
  Next: PStatusItem): PStatusItem;
 
Funktion
Erweitert den Text fr den Statuszeileneintrag um die lndersprachlich
korrekte Bezeichnung der Taste KeyCode.

 siehe auch:
   KN
   NewStatusKey

AddAccelerators-Prozedur  (Unit KeyNames)
 



                  gvision, Page #   9   Date 7-3-1996 Thursday
                                    -   10 -





procedure AddAccelerators(Menu: PMenu; Accelerators: PAccelerators);
Funktion
Die Mendatenstruktur Menu wird durchsucht. Wenn Accelerators
nicht NIL ist, so werden gewhnliche Meneintrge ohne KeyCode um einen
solchen ergnzt, falls das Kommando in der Accelerator-Tabelle gefunden wird.
Ist Params NIL, aber der KeyCode nicht 0, so wird mittels kn der
lndersprachlich korrekte Tastenname eingetragen.

Sie knnen diese Prozedur zu zwei Zwecken verwenden:

 - Wenn Sie Mens aus Windows-Ressourcen laden, fehlen diesen jegliche
   Tastenzuordnungen. Legen Sie deshalb eine Accelerator-Tabelle in
   der Ressource an und ordnen Sie jeweils die Kommandos den gewnschten
   Tastencodes zu.

   Nachdem Sie mit LoadMenu das Men geladen haben, laden Sie mittels
   LoadAccelerators die Accelerator-Tabelle. Wenn Sie jetzt AddAccelerators
   einsetzen, werden alle entsprechenden Meneintrge um die Tastencodes
   und -namen ergnzt.

 - Um gewhnliche Mens um die Standard-Tastennamen zu ergnzen,
   rufen Sie einfach AddAccelerators auf, wobei der zweite Parameter auf
   NIL gesetzt wird.

GVDriver-Unit
 

GVDriver ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVDriver stellt Routinen fr Maus, Bildschirm und Fehlerverwaltung von
GV bereit.

Variablen und Konstanten
  System error colors
  StdGrMode
  StartUpMode
  mcNoCursor
  MCurStandard
  MCurrent

Prozeduren und Funktionen
  SetCriticalArea
  SetCurrentCursor

  InitFonts
  DoneFonts

  InitVideo
  DoneVideo
  SetScreenMode

  SysError

  InitSysError



                  gvision, Page #  10   Date 7-3-1996 Thursday
                                    -   11 -





  DoneSysError

System error colors - Variablen (Unit GVDriver)
 

 Deklaration:
  BkCol   : Byte = Red;
  TextCol1: Byte = White;
  TextCol2: Byte = Yellow;

 Funktion:
Diese Variablen legen das Layout der Systemfehlermeldungen von Graphics
Vision fest. Normalerweise handelt es sich um einen roten (BkCol) Balken
mit weiem (TextCol1) Text. Hervorhebungen in diesem Text werden gelb
(TextCol2) dargestellt.

 siehe auch:
  SysError

StdGrMode - Variable (Unit GVDriver)
 

 Deklaration:
  StdGrMode: Byte = grVGAHiStd;

 Funktion:
Diese Variable speichert den Grafikmodus der von InitVideo gesetzt
wird. Mchten Sie einen anderen als den vorgegebenen Grafikmodus
verwenden, setzen Sie die Variable einfach auf eine der grXXXXX-
Konstanten (Unit Gr). Das Setzen mu in diesem Fall vor dem Aufruf von
TApplication.Init erfolgen.
Alternativ knnen Sie auch durch die Methode TProgram.InitScreen
(die Sie natrlich berschreiben mssen) SetScreenMode mit einer
der o.g. Konstanten aufrufen.

StartUpMode - Variable (Unit GVDriver)
 

 Deklaration:
  StartUpMode: Byte = 0;

 Funktion:
Diese Variable speichert den vor Aufruf eines Graphics Vision
Programmes gesetzten Videomodus (nur Textmodus). Wenn das Programm
terminiert, wird durch Aufruf von TextMode (Unit CRT) dieser Moduswiederhergestellt.

mcNoCursor - Konstante (Unit GVDriver)
 

 Deklaration:
  mcNoCursor = -1;

 Funktion:
Die Konstante wird beim Aufruf von SetCurrentCursor als Parameter



                  gvision, Page #  11   Date 7-3-1996 Thursday
                                    -   12 -





verwendet. Ein momentan gesetzter ausschlielicher Mauszeiger wird damit
wieder zurckgesetzt.
Auerdem hat MCurrent standardmig diesen Wert. Das bedeutet,
da automatische Mauszeigeranpassungen (z.B. durch bestimmte Objekte -
InputLine o..) zugelassen sind.

MCurStandard - Variable (Unit GVDriver)
 

 Deklaration:
  MCurStandard: Integer = mcStd;

 Funktion:
Diese Variable speichert den aktuellen Standardmauszeiger. Wenn
automatische Anpassungen an bestimmte Aktionen oder Objekte durch GV
vorgenommen wurden, wird hinterher wieder dieser Mauszeiger hergestellt.
Sie knnen diese Variable jederzeit direkt auf einen der mcXXXXXXX
Werte setzen.

 siehe auch:
  MCurrent
  mcNoCursor
  SetCurrentCursor

MCurrent - Variable (Unit GVDriver)
 

 Deklaration:
  MCurrent: Integer = mcNoCursor;

 Funktion:
Diese Variable speichert den aktuellen ausschlielichen Mauszeiger.
Dieser Standardmauszeiger kann auf keine Weise durch Automatismen der
Unit MyMouse modifiziert werden. Die Variable darf nicht direkt gesetzt
werden sondern nur durch einen Aufruf von SetCurrentCursor.
Ihr Standardwert ist mcNoCursor.

SetCriticalArea - Prozedur (Unit GVDriver)
 

 Deklaration:
  Procedure SetCriticalArea (var R: TRect);

 Funktion:
Setzt den Bereich, in dem Ausgabeaktionen erfolgen sollen. Wird HideMouse
aufgerufen, so wird die Maus nur dann ausgeblendet, wenn sie sich in diesem
Bildschirmbereich befindet. Sie mssen diese Routine normalerweise nicht
selbst aufrufen. Dies bernimmt Graphics Vision automatisch.

SetCurrentCursor - Prozedur (Unit GVDriver)
 

 Deklaration:
  Procedure SetCurrentCursor (n: Integer);



                  gvision, Page #  12   Date 7-3-1996 Thursday
                                    -   13 -






 Funktion:
Setzt den Mauszeiger mit der angebenen Nummer als den ausschlielichen
Standardzeiger. Diese Art Standardzeiger kann auf keine Weise durch
die Mechanismen der Unit MyMouse gendert werden. Er bleibt solange
aktueller Mauszeiger, bis ein anderer Mauszeiger ber diese Routine gewhlt
wird bzw. die Routine mit mcNoCursor verwendet wird, was automatische
Anpassungen des Mauszeigers durch MyMouse (bzw. GV) wieder zult.

 siehe auch:
  MCurrent
  MCurStandard

InitFonts - Prozedur (Unit GVDriver)
 

 Deklaration:
   procedure InitFonts;

 Funktion:
Initialisiert die Schriftartenverwaltung von GV. Ist Windows 3.x auf dem
Rechner, auf dem ein GV Programm gerade luft, installiert, so werden
Windows Bitmap Schriftarten verwendet, ansonsten BIOS Schriften.
(siehe MyFonts)
Vor Aufruf dieser Routine mu die Turbo Vision Speicherverwaltung
mittels InitMemory initialisiert werden.
InitFonts mu auch beim Generieren von Resourcendateien aufgerufen werden.
Die Routine wird normalerweise von TProgram.Init aufgerufen.

DoneFonts - Prozedur (Unit GVDDriver)
 

 Deklaration:
  procedure DoneFonts;

 Funktion:
Beendet die Schriftartenverwaltung von Graphics Vision durch einen Aufruf
von MyFonts.DoneMyFonts.

InitVideo - Prozedur (Unit GVDriver)
 

 Deklaration:
  Procedure InitVideo;

 Funktion:
initialisiert den Grafikmodus, der in StdGrMode gesetzt ist.

DoneVideo - Prozedur (Unit GVDriver)
 

 Deklaration:
  prozedure DoneVideo;




                  gvision, Page #  13   Date 7-3-1996 Thursday
                                    -   14 -





 Funktion:
schaltet in den Textmodus zurck.

 siehe auch:
   InitVideo

SetScreenMode - Prozedur (Unit GVDriver)
 

 Deklaration:
  Procedure SetScreenMode (Mode: Integer);

 Funktion:
Setzt den in Mode angebenen Bildschirmmodus. Gltige Werte fr Mode sind die
grXXXXXX-Konstanten (siehe Unit Gr)

SysError - Funktion (Unit GVDriver)
 

 Deklaration:
  function SysError (ErrorCode: Integer; Drive: Byte): Integer;

 Funktion:
Diese Routine ist die Fehlerbehandlungsroutine von Graphics Vision. Fr weitere
Informationen schauen Sie bitte unter SystemError (Turbo Vision) nach.

 siehe auch:
  InitSysError
  DoneSysError

InitSysError - Prozedur (Unit GVDriver)
 

 Deklaration:
   prozedure InitSysError;

 Funktion:
Initialisiert die Fehlerbehandlung von GV durch Aufruf der gleichnamigen
Routine der Unit Drivers (s.d.) und installiert die Fehlerbehandlungsroutine
SysError.

 siehe auch:
  DoneSysError

DoneSysError - Prozedur (Unit GVDriver)
 

 Deklaration:
  prozedure DoneSysError;

 Funktion:
Beendet die Fehlerbehandlung durch Aufruf von Drivers.DoneSysError (s.d.)

 siehe auch:



                  gvision, Page #  14   Date 7-3-1996 Thursday
                                    -   15 -





  SysError
  InitSysError

GVWinNum-Unit
 

GVWinNum ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVWinNum stellt eine intelligente Verwaltung fr Fensternummern bereit. Im
Gegensatz zu Turbo Vision mssen Sie sich in Graphics Vision nicht um die
Fensternummern kmmern. Dies geht hier alles automatisch. Zur Verwendung von
Fensternummern in Ihren Programmen, schauen Sie bitte unter GetNumberFromEvent
nach.

Variablen und Konstanten
  Event types (etXXXXXXX)
  WindowNums

Prozeduren und Funktionen
  GetWindowNumber
  FreeWindowNumber
  GetNumberFromEvent

etXXXXXXX - Konstanten (Unit GVWinNum)
 

 Deklaration:

  etAltNumKeys = 1;
  etNumberKeys = 2;
  etFuncKeys   = 3;
  etAltFunc    = 4;
  etCtrlFunc   = 5;
  etShiftFunc  = 6;

 Funktion:
Diese Konstanten werden als Parameter fr die Routine GetNumberFromEvent
verwendet. Die Bedeutung ergibt sich aus dem  Namen der jeweiligen Konstante.

WindowNums - Variable (Unit GVWinNum)
 

 Deklaration:
  const WindowNums: Word = 0;

 Funktion:
WindowNums speichert, welche Fensternummern bereits vergeben sind. Jedes der
ersten 9 Bits entspricht dabei einer Nummer. Ist das Bit gesetzt, ist die Nummer
vergeben, ansonsten noch verfgbar.

 siehe auch:
  GetWindowNumber

GetWindowNumber - Funktion (Unit GVWinNum)



                  gvision, Page #  15   Date 7-3-1996 Thursday
                                    -   16 -





 

 Deklaration:
  function GetWindowNumber(PrefNum: Integer): Integer;

 Funktion:
Liefert eine freie Nummer fr ein Fenster zurck. In WindowNums wird
das der Nummer zugeordnete Bit gesetzt. Nimmt PrefNum einen Wert zwischen 0 und 10
an, so wird zuerst geprft, ob diese Nummer noch frei ist. Sollte dies der Fall
sein, so wird diese Nummer zurckgegeben, ansonsten eine andere freie Nummer.
Sollte keine Nummer mehr frei sein, so wird wnNoNumber zurckgegeben.

 siehe auch:
  FreeWindowNumber
  TWindow.SetState

FreeWindowNumber - Prozedur (Unit GVWinNum)
 

 Deklaration:
   procedure FreeWindowNumber(AWindowNumber: Integer);

 Funktion:
Lscht das der Nummer AWindowNumber zugeordnete Bit in WindowNums
wieder.

 siehe auch:
  GetWindowNumber
  TWindow.SetState

GetNumberFromEvent - Funktion (Unit GVWinNum)
 

 Deklaration:
   function GetNumberFromEvent(Event: TEvent; EventType: Byte): Integer;

 Funktion:
Diese Funktion versucht aus dem gegebenen Ereignis Event (es mu sich um ein
Tastaturereignis handeln) eine Fensternummer herauszufiltern. EventType kann
einen der etXXXXXXX Werte annehmen. Um z.B. Fenster ber
"Alt-<Nummer>" selektieren zu knnen, mssen Sie folgende Zeilen in die
HandleEvent-Methode Ihrer Applikation einfgen:

   ...
   Num := GetNumberFromEvent(Event, etAltNumKeys);
   If Num <> wnNoNumber then
     Message(@Self, evBroadCast, cmSelectWindowNum, Ptr(0, Num));
   ...


GVTexts - Unit
 

GVTexts ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision



                  gvision, Page #  16   Date 7-3-1996 Thursday
                                    -   17 -





Paketes.
GVTexts stellt Routinen bereit, die es ermglichen Graphics Vision Programme
mehrsprachig zu gestalten.
Standardmig wird GV mit deutschen und englischen Texten geliefert. Es ist
Ihnen jedoch berlassen weitere Sprachen in Ihren Programmen verfgbar zu machen.
Dazu benutzen Sie den GVLC (Graphics Vision Language Compiler), der Ihrer
Version von GV beiliegt.

Variablen und Konstanten
  lfXXXXXXX
  Language

Prozeduren und Funktionen
  GetStr
  Version 2.09-style functions
  FreeTexts
  LoadTexts
  StoreTexts

GVLC - Programm
 

Das Programm GVLC (Graphics Vision Language Compiler) erzeugt eine Resourcendatei
(*.GVL) fr die in GV zu verwendenden Texte. Die Handhabung ist denkbar einfach:
Der erste Programmparameter ist die zu erzeugende Resourcendatei; alle weiteren
Parameter bezeichnen je eine Scriptdatei, die die bentigten Zeichenketten
enthlt.

Das Format einer solchen Zeichenkette sieht wie folgt aus:

  X:Text Text Text.... \nnn.... Text Text....\
Text ... Text

"X" ist die Indexnummer (sie ist fr den gleichen Text in unterschiedlichen
Sprachen immer gleich). Der Doppelpunkt trennt die Indexzahl vom eigentlichen
Text. "\nnn" ist ein Steuerzeichen wobei nnn die oktale Nummer des Zeichens ist
(z.B. das CR-Zeichen ist "\015"). Sie knnen aber auch "\n" fr den
Zeilenvorschub nehmen. Ein "\" am Ende der Zeile zeigt an, da der
Source-Text in der nchsten Zeile fortgesetzt wird.
Kommentarzeilen beginnen mit einem Doppelkreuz ("#").

Die Indices von 1 bis 499 sind fr GV reserviert.
Standardmig werden mit GV die folgenden Scripts geliefert:

  GERMAN.GVS    GERMANX.GVS   (Scripts fr Deutsch)
  ENGLISH.GVS   ENGLISHX.GVS  (Scripts fr Englisch)

Wollen Sie die in GV verwendeten Texte in andere Sprachen bersetzen, so
mssen Sie entsprechende Scripts unter Beibehaltung der Indices bereitstellen.
Beachten Sie, da in jedem Script immer nur eine Sprache verwendet wird.

Wenn die deutschen Texte Ihres Programmes etwa in der Skriptdatei
DEMOGER.GVS abgelegt sind, verwenden Sie folgende Kommandozeile, um
die GVL-Datei zu erzeugen:



                  gvision, Page #  17   Date 7-3-1996 Thursday
                                    -   18 -






 GVLC german.gvl  german.gvs germanx.gvs demoger.gvs

 siehe auch:
   GetStr
   Language
   TProgram.LanguageResource

lfXXXXXXX - Konstanten (Unit GVTexts)
 

 Deklaration:
  lfEnglish = 0;
  lfGerman  = 1;

 Funktion:
Es handelt sich hierbei um die Werte, die Language annehmen kann.
Bis jetzt sind Werte fr die englische und die deutsche Sprache definiert.

Language - Variable (Unit GVTexts)
 

 Deklaration:
  Language: Byte = lfGerman;

 Funktion:
Die Variable Language speichert die Sprache, die von GV fr Textausgaben benutzt
wird (z.B. fr Fehlermeldungen u..). Standardmig ist die deutsche Sprache
eingestellt. Wenn Sie eine andere Sprache wnschen, setzen Sie die Variable vor
dem Aufruf von TApplication.Init auf einen anderen Wert (lfXXXXXXX).

 siehe auch:
   GVLC
   TProgram.LanguageResource

GetStr - Funktion (Unit GVTexts)
 

 Deklaration:
  function GetStr(Key: Word): String;

 Funktion:
Diese Funktion gibt den String zurck, der den Index Key hat. Sie wird immer
dann aufgerufen, wenn ein Text in einer bestimmten Sprache ermittelt werden
mu.

 siehe auch:
  GVLC
  LoadTexts

Version 2.09-style funtions - Routinen (Unit GVTexts)
 

 Deklarationen:



                  gvision, Page #  18   Date 7-3-1996 Thursday
                                    -   19 -





  function PutTexts: PStrListMaker;
  procedure SetTexts(AList: PStringList);
  procedure MakeRezFile(AList: PStrListMaker);

 Funktionen:
Diese Funktionen wurden in der GV Version 2.09 verwendet, um mehrere Sprachen
verfgbar zu machen. Sie sind in dieser Version veraltet und drfen nicht mehr
verwendet werden. Sie sind lediglich aus Kompatibilittsgrnden vorhanden.

FreeTexts - Prozedur (Unit GVTexts)
 

 Deklaration:
   procedure FreeTexts;

 Funktion:
Diese Funktion gibt den Speicher, der durch die GV Texte belegt wurde wieder
frei. Sie wird von TProgram.DoneTexts aufgerufen.

 siehe auch:
   LoadTexts

LoadTexts - Prozedur (Unit GVTexts)
 

 Deklaration:
   procedure LoadTexts(GVLname: string);

 Funktion:
Ldt eine Stringliste mit GV Texten aus der Datei GVLname. Auf die einzelnen
Eintrge kann mit GetStr zugegriffen werden. Die Datei mu mit dem
GVLC erzeugt worden sein. Diese Routine wird von TProgram.InitTexts
aufgerufen.

 siehe auch:
   StoreTexts

StoreTexts - Prozedur (Unit GVTexts)
 

 Deklaration:
   procedure StoreTexts(GVLname: string; List: PStrListMaker);

 Funktion:
Die Routine speichert die Stringliste List in einer Textresource namens GVLname
ab. Die Routinen wird GV intern bentigt.
Sie sollten zum Erzeugen Ihrer GV Textresourcen den GVLC verwenden.

 siehe auch:
  LoadTexts

SetTextResource - Prozedur (Unit GvTexts)
 
procedure SetTextResource(AResource: PStream);



                  gvision, Page #  19   Date 7-3-1996 Thursday
                                    -   20 -





Funktion
Wenn Ihre GV-Applikation eine Windows-Ressource verwendet, um z.B.
Dialogfenster und Mens zu laden, so ist es zweckmig, die sprachspezifischen
Texte in dieser Ressource abzulegen, anstatt eine GVL-Datei zu ffnen.

Mit dem GVS2RC-Programm knnen Sie Skriptdateien (*.GVS)
in ein Windows-Ressourcen-Skript (*.RC) bersetzen lassen. Ein
Ressourcencompiler kann dieses Skript dann in Ihre Windows-Ressource
einbinden.

bergeben Sie SetTextResource einen Zeiger auf den Windows-Ressourcenstream
Ihres Programms. GetStr wird dann Texte aus dieser Ressource laden.

GVS2RC - Programm
 
GVS2RC wird genau wie der Graphics Vision Language Compiler (GVLC)
eingesetzt. Das Programm bersetzt GVS-Skriptdateien in ein
Windows-Ressourcen-Skript (*.RC).

Dieses Skript knnen Sie mit Ihrem Ressourcencompiler (Resource Workshop
oder BRCC.EXE) in die Windows-Ressource Ihres Graphics-Vision-Programms
einbinden lassen.

In Ihrer Applikation werden Sie dann die Methode
InitTexts berschreiben mssen. Standardmig
erfolgt dort nmlich ein Aufruf von LoadTexts, welcher
eine GVL-Datei ffnet. Statt dessen sollten Sie hier
SetTextResource verwenden.

GVViews - Unit
 

GVViews ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVViews stellt grundlegende GV Objekte bereit.

Variablen und Konstanten
  sfXXXXXXX
  ofXXXXXXX
  gfXXXXXXX
  lfPartialLines
  mcXXXXXXX
  sbXXXXXXX
  wfXXXXXXX
  wnXXXXXXX
  wpXXXXXXX
  rmXXXXXXX
  GMinWinSize
  IconSize
  FirstPassMaximum
  WinDragAdd
  WindowCmds

Prozeduren



                  gvision, Page #  20   Date 7-3-1996 Thursday
                                    -   21 -





  GetGVViewsCursor

Objekte
  TGView
  TDragRect
  TFrame
  TBackground
  TScrollBar
  TScroller
  TListViewer
  TGGroup
  TWindow

sfXXXXXXX - Konstanten (Unit GVViews)
 

In Graphics Vision sind zustzlich zu den TV-Status-Flags noch folgende
definiert bzw. haben eine andere Funktion:

 Konstante      Bedeutung
 
 sfShadow       Dieses Flag hat in GV keine Bedeutung.
               
 sfFirstPass    Wird von CalcFirstPass gesetzt, wenn die View
                im First-Pass-Verfahren gezeichnet werden soll.
               
 sfTransparent  Gesetzt, wenn die View transparent ist.
               

siehe auch:
  sfXXXX

ofXXXXXXX - Konstanten (Unit GVViews)
 

In Graphics Vision sind zustzlich zu den TV-Options-Flags noch folgende
definiert bzw. haben eine andere Funktion:

 Konstante      Bedeutung
 
 ofStoreBack    Setzen Sie dieses Flag bei Objekten, die ihren Hintergrund
                speichern sollen. TMenubox-Objekte verwenden dieses
                Verfahren. Der Hintergrund-Puffer wird automatisch
                angelegt, wenn das Objekt sichtbar wird und verworfen,
                wenn es unsichtbar wird. Auerdem wird er verworfen,
                wenn Zeichenoperationen hinter dem Objekt stattfinden.
               
 ofHoldFirst    Setzen Sie das Flag bei Objekten, die immer im Vordergrund
                liegen sollen. (z.B. eine Uhr o..)
                Gibt es mehrere Objekte in einer Gruppe, bei denen das Flag
                gesetzt ist, kann jeweils eines dieser Objekt selektiert
                werden, welches dann permanent im Vordergrund liegt.
                Die anderen Objekte liegen dann direkt hinter diesem.
               



                  gvision, Page #  21   Date 7-3-1996 Thursday
                                    -   22 -





 ofBuffer       Gesetzt, wenn das Objekt fhig ist, in den VGA-Restspeicher
                zu schreiben.
               
                Wenn Sie Ausgaberoutinen benutzen, die dies nicht knnen, mu
                das Flag gelscht werden.
                Standardmig bei allen Views gesetzt.
               
 ofMetaFile     Gesetzt, wenn das Objekt fhig ist, die Metafile-Methode der
                Unit MetaGr fr die Darstellung zu nutzen.
               
                Wenn Sie Ausgaberoutinen nutzen, die nicht diese Methode
                untersttzen, dann mu das Flag gelscht werden.
                Standardmig bei allen Views gesetzt.
               
 ofBufferOne    Ist dieses Flag gesetzt, so wird VGA-Restspeicherpufferung
                selbst dann zur Darstellung des Objektes verwendet,
                wenn der sichtbare Bereich aus nur einem Rechteck
                besteht. Dadurch lassen sich bei groflchigen
                Zeichenoperationen Flackereffekte vermeiden.
               
                Das Flag ist standardmig bei allen Gruppen gesetzt.
               
 ofFirstPass    Ist dieses Flag gesetzt, so setzt die CalcFirstPass-
                Methode das Status-Flag sfFirstPass, wenn die Flche
                der View nicht zu gro ist.
               

siehe auch:
  ofXXXX

gfXXXXXXX - Konstanten (Unit GVViews)
 

In Graphics Vision sind zustzlich zu den TV-GrowMode-Flags noch folgende
definiert:

 Konstante      Bedeutung
 
 gfRedrawX      Noch nicht implementiert.
 gfRedrawY      Noch nicht implementiert.
	       

siehe auch:
  gfXXXX

lfPartialLines - Konstante (Unit GVViews)
 

 Deklaration:
   lfPartialLines   = $00001;

 Funktion:
Das Flag lfPartialLines wird in TListViewer-Objekten genutzt.
Ist es gesetzt, wird ein nur teilweise sichtbarer Eintrag noch dargestellt,



                  gvision, Page #  22   Date 7-3-1996 Thursday
                                    -   23 -





ansonsten abgeschnitten.

mcXXXXXXX - Konstanten (Unit GVViews)
 

Die Konstanten bezeichnen die von GV zustzlich definierten Mauszeiger.
Im einzelnen bezeichnen die Konstanten folgende Mauszeiger:

 Konstante      Bedeutung
 
  mcInput       Mauszeiger erscheint, wenn sich die Maus innerhalb eines
                TInputLine-Objektes befindet.
               
  mcMove        Wird ein Fenster mit der Maus angefat, erscheint dieser
                Mauszeiger.
               
  mcResizeDnRi  Mauszeiger erscheint, wenn sich die Maus auf der unteren-
                rechten oder oberen-linken Ecke eines Fensters befindet.
               
  mcResizeDnLe  Mauszeiger erscheint, wenn sich die Maus auf der unteren-
                linken oder oberen-rechten Ecke eines Fensters befindet.
               
  mcResizeVert  Mauszeiger erscheint, wenn sich die Maus auf der unteren
                oder oberen Kante eines Fensters befindet.
               
  mcResizeHori  Mauszeiger erscheint, wenn sich die Maus auf der linken
                oder rechten Kante eines Fensters befindet.
               

Die entsprechenden Mauszeiger werden von den Routinen GetGVViewsCursor
bzw. GetGVDialogCursor bereitgestellt.

sbDoScrolling - Konstante (Unit GVViews)
 

 Deklaration:
   sbDoScrolling    = $0008;

 Funktion:
In GV wird zustzlich zu den StandardScrollBar-Flags von TV dieses Flag
definiert. Ist es gesetzt und wird der ScrollBar-Indikator mit der Maus
"angefat", so wird bei jeder nderung die Methode ScrollDraw aufgerufen,
ansonsten erst nach dem Loslassen der Maus.

 siehe auch:
   sbXXXX

wfXXXXXXX - Konstante (Unit GVViews)
 

In GV existieren neben des TV-Window-Flags folgende zustzliche Flags:

 Konstante      Bedeutung
 



                  gvision, Page #  23   Date 7-3-1996 Thursday
                                    -   24 -





  wfShowNumber  wird gesetzt, wenn die Fensternummer angezeigt werden soll.
               
  wfBackground  wird gesetzt, wenn ein Fensterhintergrund angezeigt werden
                soll.
               
  wfShowTitle   wird gesetzt, wenn der Fenstertitel angezeigt werden soll.
               
  wfModal       wird gesetzt, wenn das Fenster ein Dialogfenster ist.
                Das Fenster wird mit einem anderen (breiteren sowie blauen)
                Rahmen angezeigt.
                ACHTUNG: Das Flag bezieht sich nur auf das Fenster-Layout.
               
siehe auch:
  wfXXXX

wnJustANumber - Konstante (Unit GVViews)
 

 Deklaration:
   wnJustANumber = 10;

 Funktion:
Wenn diese Konstante dem Feld Number eines TWindow-Objekts zugeordnet wird,
bedeutet dies, da dem Fenster irgendeine gerade nicht verwendete Nummer
zugewiesen wird, und dieses Fenster daher auch mit der Tastenkombination
[Alt][Nummer] selektiert werden kann.

 siehe auch:
   wnNoNumber
   GVWinNum

wpXXXXXXX - Konstanten
 

 Funktion:
ber diese Konstanten kann eine der drei vordefinierten Farbpaletten fr ein
TWindow-Objekt ausgewhlt werden. Gem der Voreinstellung benutzt ein
TWindow-Objekt die Palette wpWhiteWindow.

 Werte:
Graphics Vision definiert fr Fenster drei Farbpaletten:


 Konstante      Wert   Bedeutung
 
 wpWhiteWindow  0      weier Hintergrund
 wpGrayWindow   1      grauer Hintergrund
 wpCyanWindow   2      trkisfarbener Hintergrund

 Siehe auch:
   TWindow.Palette
   TWindow.GetPalette

rmXXXXXXX - Konstanten (Unit GVViews)



                  gvision, Page #  24   Date 7-3-1996 Thursday
                                    -   25 -





 

Diese Konstanten geben an, an welcher Ecke bzw. Kante ein Fenster "angefat"
wurde, um seine Gre zu ndern. Sie werden beim Aufruf von DragView
verwendet. Die Konstanten haben folgende Bedeutung:

 Konstante      Bedeutung
 
 rmDnRi         untere-rechte Ecke
 rmUpRi         obere-rechte Ecke
 rmDnLe         untere-linke Ecke
 rmUpLe         obere-linke Ecke
 rmLeft         linke Kante
 rmRight        rechte Kante
 rmUp           obere Kante
 rmDown         untere Kante
               

FirstPassMaximum - Variable (Unit GVViews)
 
FirstPassMaximum: LongInt = 10000;
Funktion
Legt die maximale Flche (in Quadratpixeln) einer View fest, damit sie
durch TGGroup.DrawClipped im FirstPass-Verfahren
dargestellt wird. Die Methode CalcFirstPass
wertet diese Variable aus.

GMinWinSize - Variable (Unit GVViews)
 

 Deklaration:
   GMinWinSize : TPoint = (X: 170; Y: 100);

 Funktion:
Legt die minimale Gre eines TWindow- oder davon abgeleiteten Objekts fest.
Bei einem Aufruf von TWindow.SizeLimits werden diese Werte werden ber den
Parameter Min zurckgegeben.

Eine nderung der Werte in GMinWinSize betrifft alle Fensterobjekte, sofern
die Methode SizeLimits nicht berschrieben wurde.

GWinMinSize ersetzt die TV-Variable MinWinSize.

 Siehe auch:
  MinWinSize
  SizeLimits

IconSize - Konstante (Unit GVViews)
 

 Deklaration:
   IconSize = 20;

 Funktion:



                  gvision, Page #  25   Date 7-3-1996 Thursday
                                    -   26 -





Diese Variable gibt die horizontale Gre von Fensterschaltern
(z.B. Zoomschalter) an. Sie ist fr alle Fenster gleich und ohne Eingriffe
in den Quelltext nicht vernderbar.

 siehe auch:
   TitleSize

WinDragAdd - Konstante (Unit GVViews)
 

 Deklaration:
   WinDragAdd = 5;

 Funktion:
Diese Konstante gibt an, um wieviel Pixel ein Fenster bei Bedienung mit der
Tastatur pro Schritt verschoben werden soll.

 siehe auch:
   DragView

WindowCmds - Variable (Unit GVViews)
 

 Deklaration:
   WindowCmds: TCommandSet = [cmNext, cmPrev, cmTile, cmCascade];

 Funktion:
Diese Variable speichert eine Menge von Kommandos. Befinden sich Fenster auf
dem Desktop sind diese Kommandos aktiviert sonst inaktiviert. Mchten Sie
weitere Kommandos automatisch deaktivieren wenn keine Fenster auf dem Desktop
liegen, weisen Sie sie einfach dieser Menge zu.

 siehe auch:
   TWindow.SetState

GetGVViewsCursor - Prozedur (Unit GVViews)
 

 Deklaration:
   procedure GetGVViewsCursor (n: Integer);

 Funktion:
Diese Routine stellt die in GVViews zustzlich verwendeten Mauszeiger bereit.

 siehe auch:
   DoGetMCursor

TGView - Objekt (Unit GVViews)
 

Ein Graphics-Vision-Programm, das dieses Objekt nicht einbindet, ist kaum
vorstellbar. In der Regel werden Sie jedoch nicht dieses Objekt, sondern
seine zahlreichen Nachfolger instantiieren, fr die TGView die grundlegenden
Felder und Methoden bereitstellt.



                  gvision, Page #  26   Date 7-3-1996 Thursday
                                    -   27 -






TGView ist vom TV-Basisobjekt TView abgeleitet. Die meisten der TView-Methoden
wurden dabei berschrieben. Viele haben jedoch die alte Funktion behalten.

 Felder:
   GOwner
   GNext
   CursorSize
   CursorFlag
   CursorLock
   ViewLock

 Methoden:
    Init
    Load
    Done            
    CalcBounds      
    CalcFirstPass
    ChangeBounds    
    ChMCursor
    CreateDragView
    DeleteRectList
    DragView
    Draw
    DrawCursor
    DrawRectList
    DrawView
    DrawClipped
    DrawVisible
    DrawVisibleLocal
    EndModal        
    Exposed         
    Focus           
    FreeBack
    GetColor
    GetPeerViewPtr  
    GetVisibleRect
    GetInVisibleRect
    GetVisibility
    GetStandardFont
    GrowTo          
    HandleEvent
    HideCursor
    HideDrawClipped
    Locate
    MakeFirst        
    MouseEvent
    MoveTo           
    NextView         
    Prev             
    PrevView         
    PutInFrontOf     
    PutPeerViewPtr   
    RestoreBackground



                  gvision, Page #  27   Date 7-3-1996 Thursday
                                    -   28 -





    RestoreViewPort
    Select           
    SetCursor        
    SetState
    SetSubRect
    SetViewPort
    ShowCursor
    ShowDrawClipped
    Store
    StoreBack
    TopView           

TGView.GOwner - Feld
 

 Deklaration:
   GOwner: PGGroup;

 Funktion:
GOwner ist das Pendant zum Feld Owner von TView. In GV wird immer GOwner an
dessen Stelle verwendet.

 siehe auch:
   TView
   Owner

Transparente Views
 
Gewhnliche View-Objekte sind verpflichtet, bei einer Draw-Operation
die gesamte sichtbare Flche des Objekts durch Zeichenoperationen
auszufllen, damit keine undefinierten Pixel verbleiben.

Gelegentlich ist es aber ntig, den Hintergrund "durchscheinen" zu
lassen, um gewisse Effekte zu erzielen. Ein Beispiel fr ein
solches Verhalten gibt das TDragRect-Objekt, welches beim Dragging
von Fenstern auf dem Bildschirm bewegt wird: Es lt den Hintergrund
durchscheinen und stellt sich selbst nur als ein dnnes
Rechteck dar.

Derartiges Verhalten widerspricht den gewhnlichen Konzepten eines
Windowing-Systems (z.B. mssen sich berdeckte Views zum Teil
durchzeichnen) und erfordert eine spezielle Behandlung derartiger,
"transparenter" Views.

Graphics Vision untersttzt die Verwendung von transparenten Views.
Setzen Sie das Status-Flag sfTransparent in einer View, so darf die
Draw-Methode davon ausgehen, da der Hintergrund bereits gezeichnet
wurde, und sich darberzeichnen.

Wenn sich eine Hintergrund-View zeichnet, so wird auch der transparent
berdeckte Teil angepat. Entsprechend ist auch das Verhalten der
anderen Mechanismen.

Ist die View zudem einfach-entfernbar, sollten Sie die Methode



                  gvision, Page #  28   Date 7-3-1996 Thursday
                                    -   29 -





HideDrawClipped berschreiben. Das Objekt
TDragRect gibt hier ein Beispiel.

TGView.GNext - Feld
 

 Deklaration:
   GNext: PGView;

 Funktion:
GNext ist das Pendant zum Feld Next eines TView-Objektes. In GV wird an dessen
Stelle immer GNext verwendet.

 siehe auch:
   TView
   Next 

TGView.CursorSize - Feld
 

 Deklaration:
   CursorSize: TPoint;

 Funktion:
CursorSize speichert die Gre des Text-Cursors. Standardmig ist dieses Feld
auf 0 gesetzt.

 siehe auch:
   CursorFlag
   CursorLock

TGView.CursorFlag - Feld
 

 Deklaration:
   CursorFlag: Boolean;

 Funktion:
Da im Grafikmodus ein blinkender Text-Cursor nicht untersttzt wird, emuliert
GV einen solchen Cursor. CursorFlag speichert dabei, ob der Cursor gerade
sichtbar ist. Sie sollten auf keinen Fall Schreibzugriffe auf diese Variable
durchfhren. Dies macht GV alles fr Sie.

 siehe auch:
   ShowCursor
   HideCursor

TGView.CursorLock - Feld
 

 Deklaration:
   CursorLock: ShortInt;

 Funktion:



                  gvision, Page #  29   Date 7-3-1996 Thursday
                                    -   30 -





Das Feld wird von HideCursor bzw. ShowCursor gesetzt.
Nur wenn CursorLock 0 ist, ist der Cursor sichtbar.

TGView.ViewLock - Feld
 

 Deklaration:
   ViewLock: Integer;

 Funktion:
ViewLock wird u.a. von SetViewPort und
RestoreViewPort verwendet, um
mehrfaches Setzen des Zeichenkontextes zu vermeiden.

TGView.Init - Konstruktor
 

 Deklaration:
   constructor Init (var Bounds: TRect);

 Funktion:
Ruft zuerst TView.Init auf. Dann werden folgende Felder initialisiert:

 Feld            Wert
 
 EventMask       evMouseDown + evKeyDown + evCommand + evTimer
 GNext           nil
 GOwner          nil
 Options         ofBuffer + ofMetafile
 CursorLock      2
                

 siehe auch:
   Init,TView

TGView.Load - Konstruktor
 

 Deklaration:
   contructor Load(var S: TStream);

 Funktion:
Load ruft zuerst TView.Load auf. Dann werden die Felder CursorSize
bzw. CursorLock aus dem Stream S gelesen.

 siehe auch:
   Load,TView
   Store

TGView.CalcFirstPass - Methode
 
procedure CalcFirstPass; virtual;
Funktion
Diese Methode wird von ChangeBounds aufgerufen. Sie hat die Aufgabe,



                  gvision, Page #  30   Date 7-3-1996 Thursday
                                    -   31 -





das Status-Flag sfFirstPass anzupassen. Die Standard-Implementation
von CalcFirstPass lscht sfFirstPass, wenn das Options-Flag ofFirstPass
gelscht ist oder die Flche der View grer als FirstPassMaximum ist.

Hintergrund dieses Verhaltens sind die Darstellungsverfahren
der Funktion TGGroup.DrawClipped.

TGView.ChMCursor - Methode
 

 Deklaration:
   procedure ChMCursor; virtual;

 Funktion:
Diese Methode dient der automatischen Anpassung der Mauszeigerform an Objekte.
Es handelt sich um eine pseudo-abstrakte Methode. Sie mssen sie also berschreiben,
um den Mauszeiger an ein Objekt anzupassen.

Normalerweise prft die Methode, ob sich der Mauszeiger (MyMouse.MouseWhere)
innerhalb eines bestimmten Bereiches befindet und trgt ggf. in MyMouse.NewNum
den entsprechenden Mauszeiger ein.

 siehe auch:
   mcXXXXXXX
   TGGroup.ChMCursor

TGView.CreateDragView - Methode
 
function CreateDragView: PGView; virtual;
Funktion
Diese Methode wird von DragView aufgerufen, um das
Objekt zu erhalten, welches die Drag-Operation ausfhrt.
Standardmig erzeugt diese Methode ein neues TDragRect-Objekt
und fgt es vor der View in die Gruppe ein.

Sie knnen diese Methode berschreiben, um die Drag-Operation von
einem anderen Objekt ausfhren zu lassen. Wenn CreateDragView @Self
zurckgibt, so folgt die View selbst den Drag-Bewegungen.

TGView.DeleteRectList - Methode
 

 Deklaration:
   procedure DeleteRectList(var RectList: PVRect);

 Funktion:
Ruft FreeVis auf. Diese Methode existiert aus Kompatibilittsgrnden
Sie sollten sie in dieser Version von GV nicht mehr benutzen.

  siehe auch:
    DrawRectList
    GetVisibleRect
    GetInvisibleRect




                  gvision, Page #  31   Date 7-3-1996 Thursday
                                    -   32 -





TGView.DragView - Methode
 

 Deklaration:
   procedure DragView(Event: TEvent; Mode: Byte; var Limits: TRect;
     MinSize, MaxSize: TPoint; ResMode: Byte);

 Funktion:
Diese Methode besitzt in GV den zustzlichen Parameter ResMode, der angibt,
an welcher Ecke bzw. Kante das Objekt (im Normalfall ein Fenster) mit der
Maus "angefat" wurde.

 siehe auch:
   DragView,TView

TGView.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;

 Funktion:
Draw stellt das Objekt auf dem Bildschirm dar. In GV darf diese Routine
niemals durch einen Nutzer aufgerufen werden. Sie sollten stattdessen immer
die Methode DrawView verwenden, die brigens nur den gerade sichtbaren Teil
des Objektes darstellt.

Wenn Sie diese Methode berschreiben, beachten Sie bitte, da
alle Zeichenoperationen lokale Koordinaten haben und automatisch
an den Rndern der View abgeschnitten werden.

 siehe auch:
   Draw,TView

TGView.DrawCursor - Methode
 

 Deklaration:
   procedure DrawCursor;

 Funktion:
DrawCursor zeichnet den Text-Cursor an der Position, die im Feld Cursor
verzeichnet ist in der Gre CursorSize.
Sie sollten diese Routine niemals aufrufen. Dies macht GV automatisch.
Sie mssen den Cursor lediglich mittels ShowCursor bzw.
HideCursor ein- bzw. ausblenden.

 siehe auch:
   Cursor,TView

TGView.DrawRectList - Methode
 

 Deklaration:



                  gvision, Page #  32   Date 7-3-1996 Thursday
                                    -   33 -





   procedure DrawRectList(var RectList: PVRect);

 Funktion:
Diese Methode existiert nur aus Kompatibilittsgrnden mit lteren GV-Versionen.
Sie sollten Sie nicht benutzen. In dieses GV-Version knnen Sie in Fenster, die
im Hintergrund liegen, schreiben, ohne irgendetwas zu beachten. Nutzen Sie
einfach DrawView.

TGView.DrawView - Methode
 

 Deklaration:
   procedure DrawView;

 Funktion:
Ruft DrawVisible auf. Die Methode stellt den gerade sichtbaren Teil eines
Objektes auf dem Bildschirm dar. Dazu werden Mechanismen der Unit GVisible
genutzt.

 siehe auch:
   Draw
   DrawView,TView

TGView.DrawClipped - Methode
 
procedure DrawClipped(Clip: PVRect; VisOwner: PGView); virtual;
Funktion
Diese Prozedur schneidet mittels IntersectVis die
Clip-Region an der sichtbaren Region und stellt den resultierenden
Teil dar.

Tatschlich ist die Implementation aber subtiler als hier angegeben.

Diese Prozedur wird intern u.a. zur effizienten Ausfhrung von
Fensteroperationen verwendet. Sie werden sie in Ihren Programmen
kaum verwenden.

Siehe auch
 GVisible

TGView.DrawVisible - Methode
 

 Deklaration:
   procedure DrawVisible; virtual;

 Funktion:
Stellt den gerade sichtbaren Teil des Objektes auf dem Bilschirm dar. Dazu
werden Mechanismen der Unit GVisible benutzt.

Sie knnen statt DrawVisible auch DrawView verwenden.

 siehe auch:
   GetVisibility



                  gvision, Page #  33   Date 7-3-1996 Thursday
                                    -   34 -






TGView.DrawVisibleLocal - Methode
 

 Deklaration:
   procedure DrawVisibleLocal(Local: pointer);

 Funktion:
Wenn Objekte auf Ereignisse reagieren, indem sie ihr Aussehen auf dem
Bildschirm verndern, ist es hufig zweckmig, nicht DrawView
aufzurufen, sondern nur einen Teil des Bildes zu verndern.

Da auerhalb einer Draw-Methode der Zeichenkontext nicht
gesetzt ist, mssen Zeichenoperationen geklammert werden. Dies geschieht
gewhnlich mit SetViewport-
RestoreViewport.

Sobald Sie aber nicht-pufferbare Zeichenoperationen verwenden,
versagt diese Klammerung, wenn das Objekt nicht am Stck
gezeichnet werden kann.

Verschieben Sie in solchen Fllen die Zeichenoperationen in eine lokale,
far deklarierte Prozedur, die Sie wie folgt verwenden knnen:

 
 procedure TMyObj.DrawAPart;

  procedure DoWriteSth; far;
  Begin
    MakeThis;
    MakeThat;
    DrawThisUsingForeignGraphicsPackages;
    DrawThatUsingForeignGraphicsPackages;
  End;

 Begin
   DrawVisibleLocal(@DoWriteSth)
 End;
 

TGView.FreeBack - Methode
 
procedure FreeBack; virtual;
Funktion
Entfernt einen gespeicherten View-Hintergrund aus dem Speicher.
Diese Methode wird aufgerufen, wenn Zeichenoperationen unter der
View stattfinden und das Options-Flags ofStoreBack gesetzt ist.
Ferner ruft RestoreBackground diese Methode auf.

TGView.GetColor - Methode
 

 Deklaration:
   function GetColor(Color: Word):Word;



                  gvision, Page #  34   Date 7-3-1996 Thursday
                                    -   35 -






 Funktion:
Liefert die Farbe, die zum Paletteneintrag Color gehrt zurck. In GV ist es
mglich, das die Palette einer View direkt auf eine hhere als die Palette
ihres GOwners verweist. Dazu mu nur in der Palette der View
ein Eintrag enthalten sein, der auerhalb des Bereiches der Palette des
GOwners der View liegt. Dann wird angenommen, da die
nchsthhere Palette gemeint sein mu, und es wird dort nachgesehen usw. bis
hoch zur Palette der Applikation.

 siehe auch:
   CColor

TGView.GetVisibleRect - Methode
 

 Deklaration:
   procedure GetVisibleRect(var RectList: PVRect);

 Funktion:
Ermittelt den sichtbaren Bereich des Objektes durch einen Aufruf von
GetVisibility. Sie sollten diese Methode nicht
verwenden. Sie existiert nur aus Kompatibilittsgrnden.

  siehe auch:
    GetInvisibleRect
    DrawRectList
    DeleteRectList

TGView.GetInVisibleRect - Methode
 

 Deklaration:
   procedure GetInVisibleRect(var RectList: PVRect);

 Funktion:
Ermittelt NIL. Diese Methode existiert nur aus Kompatibilittsgrnden.

  siehe auch:
   DrawRectList
   DeleteRectList
   GetVisibleRect

TGView.GetVisibility - Methode
 
function GetVisibility: PVRect;
Funktion
Diese Funktion ermittelt die aktuell sichtbare Region mittels Operationen
der Unit GVisible. Der Rckgabewert ist ein generischer Zeiger
auf eine abstrakte Datenstruktur, welcher von Methoden wie
DrawClipped verwendet wird.

Verwenden Sie FreeVis, um die Datenstruktur zu zerstren.




                  gvision, Page #  35   Date 7-3-1996 Thursday
                                    -   36 -





Sie werden diese Methode in Ihren Programmen kaum direkt verwenden.
Graphics Vision nimmt Ihnen mit Methoden wie DrawView
den direkten Zugriff auf Sichtbarkeits- Datenstrukturen ab.

TGView.GetStandardFont - Methode
 

 Deklaration:
    function GetStandardFont: Word; virtual;

 Funktion:
Gibt die Standardschriftart des Objektes zurck. Dazu wird das Feld
StandardFont ausgewertet. Sollte keine bergeordnete
Gruppe existieren (GOwner = nil), dann gibt die Methode
ftSansSerif zurck.

TGView.HandleEvent - Methode
 

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

 Funktion:
Zustzlich zur Funktion seines TView Pendants sorgt diese Methode dafr, da
ein evtl. sichtbarer Text-Cursor auch wirklich blinkt. Dazu wird eine Timer-
Steuerung (ber evTimer) verwendet.

  siehe auch:
    HandleEvent,TView

TGView.HideCursor - Methode
 

 Deklaration:
   procedure HideCursor;

 Funktion:
Blendet den Text-Cursor aus. Ist der Cursor schon ausgeblendet wird lediglich
CursorLock um eins erhht.

 siehe auch:
   ShowCursor

TGView.HideDrawClipped - Methode
 
procedure HideDrawClipped(Clip: PVRect; VisOwner: PGView); virtual;
Funktion
Entfernt die View vom Bildschirm und bringt die direkt darunterliegenden
Views zum Vorschein. Diese Implementation lscht das Status-Flag sfVisible,
fhrt einen GOwner^.DrawClipped-Aufruf auf und stellt den Status wieder her.

berschreiben Sie diese Methode, wenn Ihre View
transparent und einfach-entfernbar ist.




                  gvision, Page #  36   Date 7-3-1996 Thursday
                                    -   37 -





TGView.Locate - Methode
 

 Deklaration:
   procedure Locate (var Bounds: TRect); virtual;

 Funktion:
Setzt die Begrenzungen des Objekts auf die in Bounds bergebenen Werte. Das
View-Objekt wird an der neuen Position ausgegeben. Diese Methode berprft
zunchst mittels SizeLimits, ob die in Bounds angegebenen Werte gltig sind,
und ruft dann ChangeBounds auf.

 Siehe auch:
   ChangeBounds,TView
   GrowTo,TView      
   MoveTo,TView      

TGView.MouseEvent - Methode
 

 Deklaration:
   function MouseEvent(var Event: TEvent; Mask: Word): Boolean;

 Funktion:
MouseEvent macht dasselbe wie sein TV Pendant, mit dem Unterschied, da ein
eintreffendes evTimer-Ereignis an die HandleEvent-Methode der Applikation
weitergegeben wird.

 siehe auch:
   MouseEvent,TView

TGView.SetViewPort - Methode
 

 Deklaration:
   procedure SetViewPort; virtual;

 Funktion:
Wenn Objekte auf Ereignisse reagieren, indem sie ihr Aussehen auf dem
Bildschirm verndern, ist es hufig zweckmig, nicht DrawView
aufzurufen, sondern nur einen Teil des Bildes zu verndern.

Da auerhalb einer Draw-Methode der Zeichenkontext nicht
gesetzt ist, mssen Zeichenoperationen geklammert werden. Dies geschieht
mit SetViewport- RestoreViewport.

Hufig sind solche Zeichenoperationen in eine Objektmethode gepackt.
Ein Beispiel:

 
 procedure TMyObj.DrawAPart;
 Begin
   SetViewPort;
   ....



                  gvision, Page #  37   Date 7-3-1996 Thursday
                                    -   38 -





   DoWriteSth;
   ...
   RestoreViewPort
 End;
 

Zu Einschrnkungen dieses Verfahrens bei nicht-pufferbaren
Objekten lesen Sie bitte bei der Methode DrawVisibleLocal
nach.

Koordinatensystem und Clipping-Verhalten innerhalb der
Klammerung sind identisch mit dem innerhalb einer Draw-Methode.

TGView.RestoreBackground - Methode
 

 Deklaration:
   procedure RestoreBackground; virtual;

 Funktion:
Nimmt (in Reaktion auf Hide, Delete und andere Methoden)
das Objekt vom Bildschirm. Sie sollten diese Methode nicht aufrufen.

TGView.RestoreViewPort - Methode
 

 Deklaration:
   procedure RestoreViewPort; virtual;

 Funktion:
Bildet zusammen mit SetViewPort eine Klammerung
fr Zeichenoperationen.

TGView.SetState - Methode
 

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

 Funktion:
Wenn Enable True ist, werden die in AState gesetzten Bits auch in
State gesetzt; ist Enable False, werden die in AState
gesetzten Bits in State gelscht.

SetState lst auch die den Statusnderungen entsprechenden Aktionen aus,
einschlielich der Darstellung auf dem Bildschirm, wenn sfVisible gendert
wurde. (Dazu wird RestoreBackground oder
DrawView aufgerufen.)

Auerdem blendet die Methode den Text-Cursor ein bzw. aus, wenn das
Flag sfCursorVis in AState gesetzt ist.

 siehe auch:
   SetState,TView



                  gvision, Page #  38   Date 7-3-1996 Thursday
                                    -   39 -






TGView.SetSubRect - Methode
 

 Deklaration:
   function SetSubRect(var SubRect: TRect): Boolean;

 Funktion:
Diese Methode wird innerhalb von Draw-Methoden oder
SetViewport- RestoreViewport-
Blcken verwendet.

Sie setzt ein Rechteck, an dessen Grenzen die folgenden Graphikoperationen
(zustzlich zum Clipping an den Grenzen der View) abgeschnitten werden sollen.
Dieses Rechteck wird in lokalen Koordinaten in SubRect bergeben.

Das Koordinatensystem bleibt durch SetSubRect unberhrt.

Um zu den ursprnglichen Clipping-Grenzen zurckzukehren, verwenden Sie
folgenden Code:

 
 GetExtent(R);
 SetSubRect(R);
 
Der Rckgabewert gibt an, ob der effektive Clipping-Bereich nicht-leer ist.
Dadurch lt sich effizienterer Code schreiben, indem Graphikoperationen
weggelassen werden, wenn sie keinen Effekt haben:

 
 R.Assign(10, 10, 40, 40);
 If SetSubRect(R)
 then begin
   DrawThis;
   DrawThat;
 end;
 

TGView.ShowCursor - Methode
 

 Deklaration:
   procedure ShowCursor;

 Funktion:
Blendet den Text-Cursor ein. Sollte der Cursor schon sichtbar sein, wird
lediglich CursorLock um eins dekrementiert.

  siehe auch:
    HideCursor

TGView.ShowDrawClipped - Methode
 
procedure ShowDrawClipped(Clip: PVRect; VisOwner: PGView); virtual;



                  gvision, Page #  39   Date 7-3-1996 Thursday
                                    -   40 -





Funktion
Diese Methode wird von PutInFrontOf aufgerufen, um die View
in der Region Clip vom unsichtbaren in den sichtbaren Zustand
zu versetzen.

Fr nicht-transparente Views ruft sie einfach DrawClipped auf.
Fr transparente Views mu sie GOwner^.DrawClipped verwenden.

TGView.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream);

 Funktion:
Store ruft zuerst TView.Store auf. Dann werden die Felder CursorSize
bzw. CursorLock in den Stream S geschrieben.

 siehe auch:
   Store,TView
   Load

TGView.StoreBack - Methode
 
procedure StoreBack; virtual;
Funktion
Wenn das Options-Flags ofStoreBack gesetzt ist, versucht diese Methode,
einen Hintergrund-Puffer anzulegen. Dieser wird in RestoreBackground
verwendet, um das Objekt schnell vom Bildschirm zu nehmen.
Mittels FreeBack wird der Puffer wieder verworfen.

TDragRect - Objekt  (Unit GVViews)
 

Ein Objekt dieses Typs wird von TGView.CreateDragView
erzeugt und mittels Locate ber den Bildschirm bewegt. Es ist
transparent und stellt sich als dnnes XOR-Rechteck dar, deshalb ist
es auch leicht-entfernbar.

Methoden
Init
Draw
HideDrawClipped

TDragRect.Init - Methode
 
constructor Init(var Bounds: TRect);
Initialisiert das Objekt durch TGView.Init. Es entfernt
das Flag ofBuffer aus dem Options-Feld und setzt das Flag
sfTransparent im State-Feld.

TDragRect.Draw - Methode
 
procedure Draw; virtual;



                  gvision, Page #  40   Date 7-3-1996 Thursday
                                    -   41 -





Zeichnet das Objekt als ein dnnes XOR-Rechteck.

TDragRect.HideDrawClipped
 
procedure HideDrawClipped(Clip: PVRect; VisOwner: PGView); virtual;
Diese Methode ruft DrawClipped auf, um das Objekt
erneut mittels Draw zu zeichnen. Da es sich mit
XOR-Operationen zeichnet, gengt dies, um es vom Bildschirm zu entfernen.

TFrame - Objekt (Unit GVViews)
 

Dieses Objekt versieht Bildschirmfenster mit einem Rahmen. Sie werden das
Objekt TFrame wahrscheinlich nicht direkt benutzen, da TWindow-Objekte
automatisch mit einem Rahmen versehen werden.

 Felder:
   TitleSize

 Methoden:
   Init
   Load
   Store
   CalcFirstPass
   ChMCursor
   Draw
   DrawZoomField
   HandleEvent
   SetState
   Valid

TFrame.TitleSize - Feld
 

 Deklaration:
   TitleSize: Integer;

 Funktion:
TitleSize gibt die Hhe der Titlezeile eines Fensters in Pixel an. Die Variable
wird in Init auf 20 gesetzt.

TFrame.Init - Konstruktor
 

 Deklaration:
   contructor Init;

 Funktion:
Erzeugt ein TFrame-Objekt in der in Bounds angegebenen Gre. In Options
wird das Flag ofPostProcess gesetzt. In EventMask werden alle Ereignistypen,
auf die das Objekt reagieren soll verzeichnet. In GrowMode werden die Flags
gfGrowHiX und gfGrowHiY gesetzt.

 siehe auch:



                  gvision, Page #  41   Date 7-3-1996 Thursday
                                    -   42 -





   Load

TFrame.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Ldt ein TFrame-Objekt aus dem Stream S. Auerdem wird das Feld
TitleSize aus S gelesen.

  siehe auch:
    Store

TFrame.Store - Methode
 

 Deklaration:
   procedure Store (var S: TStream);

 Funktion:
Schreibt ein TFrame-Objekt in den Stream S. Auerdem wird die Variable
TitleSize in S geschrieben.

 siehe auch:
   Load

TFrame.CalcFirstPass - Methode
 
procedure CalcFirstPass; virtual;
Funktion
Diese Methode wird von ChangeBounds aufgerufen. Sie hat die Aufgabe,
das Status-Flag sfFirstPass anzupassen.

Diese Implementation setzt das Flag sfFirstPass genau dann, wenn
auch das Flags ofFirstPass gesetzt ist.

Hintergrund dieses Verhaltens sind die Darstellungsverfahren
der Funktion TGGroup.DrawClipped. Da ein
TFrame-Objekt sich sehr effizient zeichnen lt und durch darberliegende
Views sehr stark zerstckelt wird, bringt ein FirstPass-Draw
Geschwindigkeitsvorteile.

TFrame.ChMCursor - Methode
 

 Deklaration:
   procedure ChMCursor; virtual;

 Funktion:
Die Methode prft, ob sich der Mauszeiger an einer Ecke bzw. Kante des Objektes
befindet und trgt ggf. in NewNum die entsprechende Mauszeigernummer
ein.



                  gvision, Page #  42   Date 7-3-1996 Thursday
                                    -   43 -






 siehe auch:
   TGView.ChMCursor
   mcXXXXXXX

TFrame.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;

 Funktion:
Draw gibt das Objekt auf dem Bildschirm aus. Sein Aussehen hngt stark von
den Flags ab, die in dem TWindow-Objekt, zu dem dieses Objekt gehrt,
gesetzt sind.
Auerdem ruft diese Methode DrawZoomfield(false) auf,
um den Zoomschalter darzustellen.

TFrame.DrawZoomfield - Methode
 

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

 Funktion:
Stellt den Zoomschalter der zu dem TFrame-Objekt gehrt in dem in Down
gegebenen Status dar.
Ist Down true, ist der Schalter gedrckt.

 siehe auch:
   Draw

TFrame.HandleEvent - Methode
 

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

 Funktion:
Ruft TGView.HandleEvent auf, ist aber selbst zustndig fr Mausereignisse:
Klickt der Benutzer das Schliesymbol an, generiert TFrame ein
cmClose-Ereignis. Wird der Zoomschalter gedrckt oder die Titelzeile
zweimal angeklickt, generiert TFrame ein cmZoom-Ereignis.

Das Fenster kann bewegt (wenn die Titelzeile mit der Maus gezogen
wird) und in seiner Gre gendert werden (wenn der Benutzer eine der Ecken
oder Kanten mit der Maus zieht).

 Siehe auch:
  TGView.HandleEvent
  TFrame

TFrame.SetState - Methode
 



                  gvision, Page #  43   Date 7-3-1996 Thursday
                                    -   44 -






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

 Funktion:
Ruft TGView.SetState(AState, Enabled) auf. Schliet der neue Status die
Eigenschafte sfActive ein, wird DrawView aufgerufen, das Objekt also neu
dargestellt.

 Siehe auch:
   TGView.SetState
   TFrame

TFrame.Valid - Methode
 

 Deklaration:
   function Valid (Command: Word): Boolean; virtual;

 Funktion:
Ruft lediglich TGView.Valid(Command) auf.

TBackground - Objekt (Unit GVViews)
 

TBackGround ist ein View-Objekt, das lediglich ein Rechteck darstellt.
blicherweise gehrt es zu einer Instanz von TDesktop.

 Methoden:
   Init
   Load
   Store
   Draw

TBackground.Init - Konstruktor
 

 Deklaration:
   constructor Init(var Bounds: TRect);

 Funktion::
Initialisiert ber einen Aufruf von TGView.Init(Bounds) ein
TBackGround-Objekt fr den in Bounds angegebenen Bereich. Im Feld GrowMode
werden die Bits gfGrowHiX und gfGrowHiY gesetzt.

 siehe auch:
   TGView.Init
   TBackground

TBackground.Load - Methode
 

 Deklaration:
   constructor Load(var S: TStream);



                  gvision, Page #  44   Date 7-3-1996 Thursday
                                    -   45 -






 Funktion:
Ruft nur TGView.Load(S) auf.

TBackground.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream);

 Funktion:
Ruft nur TGView.Store(S) auf.

TBackground.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;

 Funktion:
Gibt ein TBackground-Objekt auf dem Bildschirm aus. Normalerweise
wird ein Rechteck, das die gesamte Gre des Objektes ausfllt dargestellt.
Als Darstellungsfarbe wird die Farbe, auf die der erste Eintrag der Palette
des GOwner verweist benutzt.

TScrollBar - Objekt (Unit GVViews)
 

TScrollBar stellt einen Rollbalken in GV bereit. Das Objekt ist weitgehend
mit seinem TV Pendant kompatibel.

 Felder:
   ButtonSize
   Flags
   Value        
   Min          
   Max          
   PgStep       
   ArStep       
   Init
   Load
   Draw
   DrawUpButton
   DrawDnButton
   DrawIndicator
   GetPalette   
   GetPosition  
   HandleEvent
   RestoreIndicator
   ScrollDraw
   ScrollStep   
   SetParams    
   SetRange     
   SetState



                  gvision, Page #  45   Date 7-3-1996 Thursday
                                    -   46 -





   SetStep      
   SetValue     
   Store

TScrollBar.ButtonSize - Feld
 

 Deklaration:
   ButtonSize: Byte;

 Funktion:
In dieser Variable wird die Ausdehnung eines ScrollBar-Schalters gespeichert.
Die Variable wird von Init auf 18 gesetzt.

 siehe auch:
   Init

TScrollBar.Flags - Feld
 

 Deklaration:
   Flags: Byte;

 Funktion:
Speichert die Flags, die bei einem Aufruf von TWindow.StandardScrollBar als
Parameter bergeben werden.

 siehe auch:
   sbXXXXXXX

TScrollBar.Init - Konstruktor
 

 Deklaration:
   constructor Init(var Bounds: TRect);

 Funktion:
Initialisiert ber TGView.Init eine Bildlaufleiste in der in Bounds
angegebenen Gre.

Den Feldern Value, Min, Max wird 0, den Feldern PgStep und ArStep wird 1
zugewiesen.

Ergibt Bounds fr X den Wert 18, dann erhalten Sie eine vertikale
Bildlaufleiste, andernfalls einen horizontale.

Im Feld GrowMode einer vertikalen Bildlaufleiste sind die Bits gfGrowLoX,
gfGrowHiX und gfGrowHiY, in dem einer horizontalen Bildlaufleiste die Bits
gfGrowLoY, gfGrowHiX und gfGrowHiY gesetzt.

 Siehe auch:
   TScrollBar

TScrollBar.Load - Konstruktor



                  gvision, Page #  46   Date 7-3-1996 Thursday
                                    -   47 -





 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Ruft den von TGView geerbten Load-Konstruktor auf, der ein TScrollBar-Objekt
aus dem Stream S liest, und ldt dann selbst die Werte der fnf
Integer-Felder sowie den Wert von Flags.

 Siehe auch:
  Store
  TScrollBar

TScrollBar.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;

 Funktion:
Stellt den Bildlaufleiste unter Bercksichtigung der Werte in Bounds und
Value auf dem Bildschirm dar.

 Siehe auch:
  Value
  ScrollDraw
  TScrollBar
  DrawUpButton
  DrawDnButton
  DrawIndicator

TScrollBar.DrawUpButton - Methode
 

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

 Funktion:
Stellt den oberen bzw. linken Schalter der Bildlaufleiste auf dem Bildschirm
dar. Ist Down true, wird der Schalter gedrckt dargestellt.
Diese Methode wird von Draw aufgerufen.

 siehe auch:
   TScrollBar
   DrawDnButton
   DrawIndicator

TScrollBar.DrawDnButton - Methode
 

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




                  gvision, Page #  47   Date 7-3-1996 Thursday
                                    -   48 -





 Funktion:
Stellt den unteren bzw. rechten Schalter der Bildlaufleiste auf dem Bildschirm
dar. Ist Down true, wird der Schalter gedrckt dargestellt.
Diese Methode wird von Draw aufgerufen.

 siehe auch:
   TScrollBar
   DrawUpButton
   DrawIndicator

TScrollBar.DrawIndicator - Methode
 

 Deklaration:
   procedure DrawIndicator (V: Integer; Down: Boolean); virtual;

 Funktion:
Stellt den Indikator der Bildlaufleiste auf dem Bildschirm dar.
V ein Wert zwischen Min und Max. Der Indikator wird an der Stelle, die diesem
Wert entspricht im Status Down dargestellt.
Diese Methode wird von Draw aufgerufen.

 siehe auch:
   TScrollBar
   DrawUpButton
   DrawDnButton

TScrollBAr.HandleEvent - Methode
 

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

 Funktion:
Ruft TGView.HandleEvent auf und benachrichtigt anschlieend die anderen Objekte,
wenn sich Vernderungen im Status der Bildlaufleiste ergeben. Diese Objekte
wiederum mssen alle Aktionen veranlassen, also zum Beispiel einen anderen
Teil des Textes ausgeben. HandleEvent stellt ebenfalls fest, welcher Teil der
Bildlaufleiste mit der Maus angeklickt wurde oder ob ein dazu gleichwertiger
Tastenbefehl vorliegt. Darauf wird das Feld Value unter Bercksichtigung der
Werte in ArStep und PgStep richtiggestellt und die Positionsmarkierung auf
der Bildlaufleiste entsprechend gesetzt.

 Siehe auch:
   TGView.HandleEvent
   TScrollBar

TScrollBar.RestoreIndicator - Methode
 

 Deklaration:
   procedure RestoreIndicator (OldV: Integer); virtual;

 Funktion:



                  gvision, Page #  48   Date 7-3-1996 Thursday
                                    -   49 -





Entfernt die Positionsmarkierung der Bildlaufleiste durch bermalen vom
Bildschirm. Dabei wird angenommen, da sich die Markierung an der Position,
die zum Wert OldV gehrt befand.

 siehe auch:
   DrawIndicator

TScrollBar.ScrollDraw - Methode
 

 Deklaration:
   procedure ScrollDraw; virtual;

 Funktion:
Wann immer der Wert in Value sich ndert, wird diese Methode aufgerufen, die
den Befehl cmScrollBarChanged an das Objekt sendet, zu dem die
Bildlaufleiste gehrt:

Message(Owner, evBroadcast, cmScrollBarChanged, @Self);

Wenn die Positionsmarkierung der Bildlaufleiste mit der Maus gezogen wird,
wird diese Methode nur dann bei jeder nderung von Value aufgerufen, wenn
in Flags das Flag sbDoScrolling gesetzt
ist, ansonsten wird diese Methode erst nach dem Loslassen der Positionsmarkierung
aufgerufen.

 Siehe auch:
   Value,TScrollBar
   TScrollBar

TScrollBar.SetState - Methode
 

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

 Funktion:
Ruft zunchst TGView.SetState auf. Sollte in AState das
Flag sfDisabled gesetzt sein, so werden die beiden Schalter sowie die
Positionsmarkierung der Bildlaufleiste dem neuen Status angepat.

 siehe auch:
   sfXXXXXXX

TScrollBar.Store - Methode
 

 Deklaration:
   procedure Store (var S: TStream);

 Funktion:
Ruft die von TGView geerbte Store-Methode auf, die das Objekt
in den Stream S schreibt, und sichert dann selbst die Werte der fnf
Integer-Felder sowie das Feld Flags.



                  gvision, Page #  49   Date 7-3-1996 Thursday
                                    -   50 -






 Siehe auch:
   Load
   TScrollBar

TScroller - Objekt (Unit GVViews)
 

Das Objekt TScroller stellt ein Fenster zur Verfgung, das ber einen
Datenbereich bewegt werden kann, und immer einzelne Teile des gesamten
Bereichs darstellt.

Der Wert des Feldes Delta legt fest, welchen Teil des Datenbereichs die
Draw-Methode darstellen kann. Das Fenster kann mittels der
Bildlaufleisten, aber auch mithilfe der Cursor-Tasten ber den Datenbereich
bewegt werden.

Mit TScroller ist selbst noch kein darzustellender Datenbereich verbunden;
es stellt die Grundlage fr die Definition anderer Objekte dar, die mit
speziellen Daten (zum Beispiel Textzeilen) umgehen, bietet aber schon die
dazu notwendigen Funktionen.

 Felder:
   HScrollBar    
   VScrollBar    
   Delta         
   Limit         
   TextSize
   ScrollLock
   Init
   Load
   ChangeBounds
   HandleEvent   
   ScrollDraw
   ScrollTo
   SetLimit
   Store

TScroller.TextSize - Feld
 

 Deklaration:
   TextSize: TPoint;

 Funktion:
Das von TScroller bereitgestellte Fenster wird nicht pixelweise
ber den Datenbereich bewegt. Es wird pro Schritt immer um soviel Pixel
weiterbewegt, wie in dieser Variable verzeichnet sind.
TextSize wird von Init auf (18,8) gesetzt.

TScroller.ScrollLock
 

 Deklaration:



                  gvision, Page #  50   Date 7-3-1996 Thursday
                                    -   51 -





   ScrollLock: Byte;    PRIVAT

 Funktion:
Die Variable dient Hilfszwecken. Sie wird von ScrollDraw
berprft. Verschiedene andere Methoden ndern ScrollLock.

TScroller.Init - Konstruktor
 

 Deklaration:
   constructor Init(var Bounds: TRect; AHScrollBar, AVScrollBar:
       PScrollBar);

 Funktion:
Initialisiert ber TGView.Init(Bounds) ein TScroller-Objekt in der in Bounds
angegebenen Gre versehen mit den bergebenen Bildlaufleisten, sofern die
entsprechenden Argumente nicht nil sind.

In Options wird das Bit ofSelectable und das Feld EventMask wird auf
evBroadcast gesetzt.

TextSize wird auf (18,8) gesetzt.

 Siehe auch:
   TGView.Init
   TScroller

TScroller.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Ruft den von TGView geerbten Load-Konstruktor auf, der ein TScroller-Objekt
aus dem Stream S liest, ldt ber GetPeerViewPtr die Bildlaufleisten und
dann selbst die Werte der Felder Delta, Limit und TextSize.

 Siehe auch:
   Store
   TScroller

TScroller.ChangeBounds - Methode
 

 Deklaration:
   procedure ChangeBounds(var Bounds: TRect); virtual;

 Funktion:
ndert ber einen Aufruf von SetBounds(Bounds) die Gre des Objekts.
ber einen Aufruf von SetLimit werden die Bildlaufleisten
aktualisiert. Mit Hilfe von ScrollLock wird ein Aufruf
von ScrollDraw unterdrckt.




                  gvision, Page #  51   Date 7-3-1996 Thursday
                                    -   52 -





 Siehe auch:
   TScroller

TScroller.ScrollDraw - Methode
 

 Deklaration:
   procedure ScrollDraw; virtual;

 Funktion:
Stellt das Objekt immer dann neu dar, wenn das Feld Value der verbundenen
Bildlaufleiste sich infolge eines Maus- oder Tastaturereignisses ndert.
Solche nderungen werden ber den Vergleich von Delta.X mit
HScrollBar^.Value bzw. Delta.Y mit VScrollBar^.Value ermittelt. Vor der
werden die neu ermittelten Werte in Delta gespeichert.
Zur Neuausgabe wird die Routine ScrollView verwendet.
Die Methode wird bergangen, wenn ScrollLock ungleich 0
ist.

 Siehe auch:
   TScroller

TScroller.ScrollTo - Methode
 

 Deklaration:
   procedure ScrollTo(X, Y: Integer);

 Funktion:
Verschiebt die Darstellung auf die Position (X, Y) des Datenbereichs. Dazu
wird VScrollBar^.SetValue und HScrollBar^.SetValue aufgerufen und
schlielich auch ScrollDraw, um das Objekt neu darzustellen.

 Siehe auch:
   TScroller

TScroller.SetLimit - Methode
 

 Deklaration:
   procedure SetLimit(X, Y: Integer);

 Funktion:
Speichert die bergebenen Werte X und Y in Limit und ruft dann die
SetParams-Methoden der verbundenen Bildlaufleisten auf, die das Feld Max
entsprechend der neuen Gre des Objekts ndert.

Falls notwendig, wird das Objekt ber ScrollDraw neu
dargestellt.

 Siehe auch:
   TScroller

TScroller.Store - Methode



                  gvision, Page #  52   Date 7-3-1996 Thursday
                                    -   53 -





 

 Deklaration:
   procedure Store(var S: TStream);

 Funktion:
Ruft die von TGView geerbte Store-Methode auf, die ein TScroller-Objekt
in den Stream S schreibt, schreibt ber PutPeerViewPtr die Bildlaufleisten und
dann selbst die Werte der Felder Delta, Limit und TextSize.

 Siehe auch:
   Load
   TScroller

TListViewer - Objekt (Unit GVViews)
 

TListViewer ist der ideale Vorfahre solcher Objekte, deren Aufgabe darin
besteht, den Inhalt von Datenlisten auszugeben, zum Beispiel TListBox. Die
Felder und Methoden, die TListViewer definiert, stellen bereits die
grundlegende Funktionalitt solcher Objekte bereit:

 * Es bietet ein View-Objekt, das verkettete
   Listen von Dateneintrgen darstellen kann.

 * Es steuert die Darstellung ber eine
   Bildlaufleiste.

 * Es bietet die Mglichkeit, ein Fenster
   in zwei Richtungen ber einen wesentlichen
   greren Datenbereich zu bewegen.

 * Es kann zusammen mit der Bildlaufleiste in
   einen Stream gespeichert und daraus wieder
   gelesen werden.

 * Eintrge der Liste knnen mittels der Maus
   oder ber die Tastatur selektiert werden.

 * Es werden verschieden groe Eintrge untersttzt.

 * Die Objekte knnen Text und/oder grafische
   Elemente enthalten.

TListViewer definiert eine abstrakte Methode GetText, die dazu gedacht ist,
da das Objekt die darzustellenden Daten anfordern kann. Auerdem wird
die Methode DrawItemText definiert, die einen bestimmten Eintrag
darstellen kann. Sie mssen eine dieser Methoden berschreiben, damit die
Daten in der von Ihnen gewnschten Form ausgegeben werden knnen.

Das Objekt speichert selbst keine Liste, sondern ist dafr zustndig,
vorhandene Listen (seien es nun Arrays, verkettete Liste oder hnliche
Datenstrukturen) darzustellen. Seine Nachfahren (TListBox zum Beispiel)
jedoch verwalten Kollektionen mit den Funktionen, die das Objekt TListViewer



                  gvision, Page #  53   Date 7-3-1996 Thursday
                                    -   54 -





bereitstellt.

 Felder:
   ScrollBar
   TopItem       
   Focused       
   Range         
   Flags

 Methoden:
   Init
   Load
   ChangeBounds  
   Draw
   DrawItem
   DrawItemText
   FocusItem     
   GetItemRect
   GetItemSubRect
   GetPageSize
   GetText       
   IsSelected    
   HandleEvent   
   SelectItem    
   SetRange      
   SetState
   Store

TListViewer.ScrollBar - Feld
 

 Deklaration:
   ScrollBar: PScrollBar;     NUR LESEN

 Funktion:
Zeigt auf die mit diesem Objekt verbundene Bildlaufleiste oder
enthlt den Wert nil, wenn keine Bildlaufleiste definiert ist.
In GV kann ein TListViewer-Objekt nur mit einer Bildlaufleiste
verbunden werden.

TListViewer.Flags - Feld
 

 Deklaration:
   Flags: Word;

 Funktion:
Das Feld legt einige Eigenschaften des Objektes fest. Nhere Informationen
erhalten Sie unter lfXXXXXXX.

 siehe auch:
  TListViewer

TListViewer.Init - Konstruktor



                  gvision, Page #  54   Date 7-3-1996 Thursday
                                    -   55 -





 

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

 Anmerkung:
Initialisiert ber TGView.Init(Bounds) ein TListViewer-Objekt in der in
Bounds angegebenen Gre. In Options werden die Bits ofFirstClick und
ofSelectable gesetzt.

EventMask wird auf evBroadCast, die Felder Range und Focused auf 0 gesetzt.
AScrollBar ist ein Zeiger auf eine Bildlaufleiste. Ist diese nicht notwendig,
mssen Sie nil bergeben. Der Zeiger wird in das Feld ScrollBar
eingetragen.

Wenn Sie eine Bildlaufleiste bereitgestellt haben, werden deren Felder
PgStep und ArStep auf Werte gesetzt, die der Gre des TListViewer-Objekts
entspricht.

 Siehe auch:
   TGView.Init
   TListViewer

TListViewer.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Ldt ein TListViewer-Objekt aus dem Stream S.
Die Methode ruft zuerst die ererbte Methode TGView.Load auf,
ldt ber GetPeerViewPtr die Bildlaufleiste und
schlielich mittels S.Read die Werte der anderen Felder aus dem Stream S.

 Siehe auch:
   Store
   TListViewer

TListViewer.Draw - Methode
 

 Deklaration:
    procedure Draw; virtual;

 Funktion:
Stellt das Objekt auf dem Bildschirm dar. Fr jeden Eintrag der Liste wird
dabei die Methode DrawItem aufgerufen.

 siehe auch:
   DrawItemText

TListViewer.DrawItem - Methode
 



                  gvision, Page #  55   Date 7-3-1996 Thursday
                                    -   56 -






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

 Funktion:
Gibt den Eintrag mit der Nummer Item auf dem Bildschirm aus.
ber GetItemRect wird der Darstellungsbereich
des Eintrags ermittelt. Dann wird abhngig von der Selektierung des Eintrags
sein Hintergrund ausgegeben und abschlieend die Methode DrawItemText
aufgerufen.

 siehe auch:
   Draw

TListViewer.DrawItemText - Methode
 

 Deklaration:
   procedure DrawItemText(Item: Integer; R: TRect); virtual;

 Funktion:
Gibt den Inhalt des Eintrags mit der Nummer Item in den gegebenen Grenzen aus.
Standardmig wird ber einen Aufruf von GetText versucht, ein Text fr den
Eintrag zu ermitteln. Wollen Sie etwas anderes als Text ausgeben lassen, so
mssen Sie diese Methode berschreiben.

 siehe auch:
   DrawItem
   Draw

TListViewer.GetItemRect - Methode
 

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

 Funktion:
Gibt in R den Bildschirmbereich zurck, der zu dem Eintrag mit der Nummer
Item gehrt. Die Koordinaten beziehen sich auf den Origin des Objektes.
Durch berschreiben dieser Methode ist es mglich, verschieden groe Eintrge
zu untersttzen.

 siehe auch:
   DrawItem

TListViewer.GetItemSubrect - Methode
 

 Deklaration:
   procedure GetItemSubRect(var R: TRect); virtual;

 Funktion:
Gibt in R den Bildschirmbereich zurck, die die Eintrge innerhalb des Objektes
einnehmen. Normalerweise wird ein 3 Pixel breiter Rand freigelassen.



                  gvision, Page #  56   Date 7-3-1996 Thursday
                                    -   57 -





Sie knnen, die Methode jedoch berschreiben und einen anderen Bereich
festlegen. Die Methode wird von Draw aufgerufen.

TListViewer.GetPageSize - Methode
 

 Deklaration:
   function GetPageSize: Integer; virtual;

 Funktion:
Diese Methode gibt die Anzahl der Eintrge zurck, die auf einmal innerhalb
des Objektes dargestellt werden knnen. Wenn Sie zum Beispiel [PgDn] drcken,
wird TopItem genau um diese Anzahl erhht.

 siehe auch:
   TopItem

TListViewer.SetState - Methode
 

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

 Funktion:
Die Methode ruft zunchst TGView.SetState auf.
Ist in AState das Flag sfSelected gesetzt und liefert die
Methode Exposed true, so wird DrawItem(Focused)
aufgerufen.

 siehe auch:
   Exposed
   Focused

TListViewer.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream);

 Funktion:
Schreibt ein TListViewer-Objekt in den Stream S.
Die Methode ruft zuerst die ererbte Methode TGView.Store auf,
schreibt ber PutPeerViewPtr  die Bildlaufleiste und
schlielich mittels S.Write die Werte der anderen Felder in den Stream S.

 Siehe auch:
   Load
   TListViewer

TGGroup - Objekt (Unit GVViews)
 

TGGroup stellt eine Gruppe, die verschiedene Objekte verwaltet, bereit.
Die Funktionen sind weitgehend kompatibel mit denen des TV-Objektes



                  gvision, Page #  57   Date 7-3-1996 Thursday
                                    -   58 -





TGroup. Fr weitere Informationen ber Gruppen whlen Sie:

 TGroup

 Felder:
    Last
    Current
    Phase           
    StandardFont
    EndState

 Methoden:
    Init
    Load
    Done            
    Awaken          
    ChangeBounds    
    ChMCursor
    DrawClipped
    DrawVisible
    DataSize        
    Delete
    Draw
    EndModal        
    EventError      
    ExecView
    Execute
    First           
    FirstThat       
    FocusNext       
    ForEach         
    GetData         
    GetHelpCtx      
    GetSubViewPtr   
    HandleEvent     
    Insert
    InsertBefore
    Lock
    PutSubViewPtr   
    Redraw
    SelectNext      
    SetData         
    SetState        
    Store
    UnLock
    Valid

TGGroup.Last - Feld
 

 Deklaration:
    Last: PGView;

 Funktion:



                  gvision, Page #  58   Date 7-3-1996 Thursday
                                    -   59 -





Zeigt auf die letzte Subview der Gruppe, das ist die Subview, die am Ende
der durch die Z-Ordnung festgelegten Reihenfolge steht. Das Feld GNext
der letzten Subview zeigt auf die erste Subview; deren Feld GNext auf die
nchste Subview usw. Dadurch entsteht eine zirkulr verkettete Liste von
Subviews.

 Siehe auch:
   TGGroup

TGGroup.Current - Feld
 

 Deklaration:
   Current: PGView;

 Funktion:
Zeigt auf die aktuell selektierte Subview oder besitzt den Wert nil, wenn
keine Subview selektiert ist.

 Siehe auch:
   sfSelected
   TView.Select
   TGGroup

TGGroup.StandardFont - Feld
 

 Deklaration:
   StandardFont: Word;

 Funktion:
Diese Variable speichert die aktuelle Standardschriftart, die von den SubViews
der Gruppe verwendet wird. Normalerweise ist dies ftSansSerif.
Diese Schriftart wird von den meisten Dialogelementen verwendet.

 siehe auch:
   TGView.GetStandardFont

TGGroup.EndState - Feld
 

 Deklaration:
   EndState: Word;

 Funktion:
Diese Variable wird von den Methoden EndModal sowie Execute
verwendet.

 siehe auch:
   EndModal,TGGroup

TGGroup.Init - Konstruktor
 




                  gvision, Page #  59   Date 7-3-1996 Thursday
                                    -   60 -





 Deklaration:
   constructor Init(var Bounds: TRect);

 Funktion:
Ruft TGView.Init(Bounds) auf, um das Objekt mit der in Bounds angegebenen
Gre zu initialisieren, und setzt die Begrenzungen, bei deren berschreiten
Subviews abgeschnitten werden. Im Feld Options werden die Bits ofSelectable
und ofBuffered gesetzt; dem Feld EventMask wird der Wert $FFFF zugewiesen,
wodurch das Objekt seine Zustndigkeit fr alle Arten von Ereignissen
erklrt. StandardFont wird auf ftSansSerif
gesetzt.

 Siehe auch:
   TGView.Init
   TGGroup

TGGroup.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Ldt eine ganze Gruppe aus dem angegebenen Stream und ruft dazu zunchst
TGView.Load auf, benutzt dann Stream.Get, um die zur Gruppe gehrenden
Subviews einzulesen. Danach werden alle Zeigerreferenzen, die ber
GetPeerViewPtr aus dem Stream gelesen wurden, aufgelst.

Wenn ein TGGroup-Objekt Felder enthlt, die auf Subviews zeigen, mu das
Objekt innerhalb der Load-Methode GetSubViewPtr aufrufen, um diese Felder
einlesen zu lassen.

Falls das GOwner-Feld nil ist, wird die Awaken-Methode aufgerufen, nachdem
alle Subviews geladen sind.

 Siehe auch:
  Awaken              
  GetSubViewPtr,TGroup
  Store,TGroup        
  Get,TStream         
  TGView.Load
  TGGroup

TGGroup.ChMCursor - Methode
 

 Deklaration:
   procedure ChMCursor; virtual;

 Funktion:
Ruft zunchst TGView.ChMCursor auf. Dann wird die
gleichnamige Methode aller der SubViews aufgerufen, die sichtbar sind und
in denen sich der Mauszeiger momentan befindet.




                  gvision, Page #  60   Date 7-3-1996 Thursday
                                    -   61 -





TGGroup.DrawClipped - Methode
 

 Deklaration:
   procedure DrawClipped(Clip: PVRect; VisOwner: PGView); virtual;

 Funktion:
Diese Prozedur schneidet mittels IntersectVis die
Clip-Region an der sichtbaren Region und ruft fr jede der Subviews
DrawClipped fr den resultierenden Teil dar.

Tatschlich ist die Implementation von DrawClipped aber etwas subtiler
und effizienter als beschrieben.

Insbesondere erfolgt die Darstellung der Subviews in zwei Phasen:
Zunchst werden von hinten nach vorn alle Subviews, deren
sfFirstPass-Flags gesetzt sind, in die Region der Gruppe gezeichnet.
Dazu wird die Funktion DrawFirstPass eingesetzt.
Dann werden von vorn nach hinten alle Subviews, deren sfFirstPass-Flags
gelscht sind, mittels DrawClipped in eigene Regionen gezeichnet.

TGGroup.DrawVisible - Methode
 
 Deklaration:
   procedure DrawVisible; virtual;

 Funktion:
Ruft die Methode Redraw auf, um die sichtbare Region
des Objekts zu zeichnen.

TGGroup.Delete - Methode
 

 Deklaration:
   procedure Delete(P: PGView);

 Funktion:
Sofern das Objekt, auf das P zeigt, sichtbar ist, wird es vom Bildschirm und
danach auch aus der Gruppe entfernt; den Feldern GOwner und GNext dieser
Subview wird der Wert nil zugewiesen. Jedoch wird der Speicher, den das ber
P referenzierte Objekt belegt, nicht freigegeben.

 Siehe auch:
   Insert
   TGGroup

TGGroup.Draw - Methode
 

 Deklaration:
   procedure Draw; virtual;

 Funktion:
Ruft die Methode Redraw auf.



                  gvision, Page #  61   Date 7-3-1996 Thursday
                                    -   62 -






Tatschlich aber wird die Draw-Methode von Gruppen niemals aufgerufen werden.
Anstatt Zeichenoperationen auf Gruppen auszufhren, fgen Sie bitte
eine View als Hintergrund-Objekt in die Gruppe ein.

TGGroup.ExecView - Methode
 

 Deklaration:
   function ExecView(P: PGView): Word;

 Funktion:
ExecView ist das modale Gegenstck der nicht-modalen Methoden Insert
und Delete. Insert fgt - wie ExecView auch - ein Objekt in
die Gruppe ein, allerdings wartet ExecView dann, bis das Objekt seine Arbeit
beeendet hat, und gibt dann das Resultat der Ausfhrung zurck.

Diese Methode wird in TProgram.Run aufgerufen, und sie fhrt auch modale
Dialogfenster aus.

ExecView sichert den aktuellen Programmkontext (das selektierte und das
fokussierte View-Objekt und den Befehlssatz), bertrgt mittels
P^.SetState(sfModal, True) dem ber P referenzierten Objekt die Eigenschaft
der Modalitt, fgt P in die Gruppe ein (sofern das Objekt ihr nicht schon
angehrt) und ruft P^.Execute auf.

Hat Execute seine Arbeit beendet, wird das Ergebnis dieser Funktion von
ExecView zurckgegeben und der vorher bestehende Programmkontext wieder
hergestellt. Ist P nil, gibt ExecView den Befehl cmCancel zurck.

 Siehe auch:
   Run,TProgram
   sfModal
   Execute
   TGGroup

TGGroup.Execute - Methode
 

 Deklaration:
   function Execute: Word; virtual;

 Funktion:
Diese Methode besteht im Prinzip aus zwei Programmschleifen, wobei die
innere Schleife Ereignisse entgegennimmt und sie an HandleEvent weitergibt.
Sie wird verlassen, wenn die Gruppe oder eine Subview EndModal aufruft.
Vorher jedoch vergewissert sich diese Methode ber Valid, da der modale
Zustand tatschlich beendet werden kann.

 Siehe auch:
  EndModal,TGroup   
  HandleEvent,TGroup
  Valid
  TGGroup



                  gvision, Page #  62   Date 7-3-1996 Thursday
                                    -   63 -






TGGroup.Insert - Methode
 

 Deklaration:
   funtion Insert(P: PGView): pointer;

 Funktion:
Fgt P^ als neue Subview in die Gruppe ein; sind die Bits ofCenterX oder
ofCenterY gesetzt, wird das Objekt innerhalb des Bereichs der Gruppe
entsprechend zentriert positioniert. Ist das Bit ofHoldFirst gesetzt, wird
das Objekt im Vordergrund bleiben. Alle neu einzufgenden Objekte, bei denen
das Bit nicht gesetzt ist, werden dann hinter diesem Objekt eingefgt.
Ist das Bit sfVisible gesetzt, erscheint die neue SubView sie innerhalb der
Gruppe; wenn nicht, bleibt sie unsichtbar, bis ein expliziter
Darstellungsbefehl eintrifft.

Kommt der Subview die Eigenschaft ofSelectable zu, wird sie gleichzeitig zur
aktuellen selektierten Subview.

In GV ist Insert eine Funktion. Die Methode gibt den Parameter P zurck.
Damit knnen lstige Hilfvariablen entfallen, die in TV bentigt wurden. Aus:

 ...
 Help := New(PAnObjekt, Init(...))
 Insert(Help)
 Help^.I_must_do_this_right_after_insertion;
 ....

 in TV wird zu:

 ...
 PAnObjekt(Insert(New(PAnObjekt, Init(...))))^.I_must_do_this_right_after_insertion;
 ...

 in GV. Dies gilt auch fr die Methode InsertBefore.

 Siehe auch:
   ofXXXXXXX
   Delete
   ExecView
   TGGroup

TGGroup.InsertBefore - Methode
 

 Deklaration:
   function InsertBefore(P, Target: PGView): pointer;

 Funktion:
Fgt P^ als neue Subview in die Gruppe ein, und zwar vor dem Objekt, auf das
Target zeigt. Ist Target nil, wird das Objekt hinter allen anderen Subviews
der Gruppe eingefgt.




                  gvision, Page #  63   Date 7-3-1996 Thursday
                                    -   64 -





InsertBefore ist in GV eine Funktion. Mehr dazu unter Insert.

 Siehe auch:
  Delete
  TGGroup

TGGroup.Lock - Methode
 

 Deklaration:
   procedure Lock;

 Funktion:
In GV besitzen Gruppen keinen Puffer wie in TV. Deshalb unterdrckt der
Aufruf dieser Routine lediglich alle Ausgaben. Es wird nur LockFlag um
eins erhht.

 siehe auch:
   UnLock

TGGroup.Redraw - Methode
 

 Deklaration:
   procedure Redraw;

 Funktion:
Die Methode ermittelt zunchst ber GetVisibility die
von der Gruppe sichtbare Region. Dann wird DrawClipped
aufgerufen, um die Gruppe neu auszugeben.

TGGroup.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream);

 Funktion:
Schreibt eine ganze Gruppe in den Stream S. Dazu wird zunchst die von TGView
geerbte Store-Methode aufgerufen, und dann mittels TStream.Put jede Subview
im Stream gesichert.

Sollten Sie von TGGroup abgeleitete Objekte definieren, deren Felder Zeiger
auf Subviews speichern, mssen Sie innerhalb der Store-Methode
PutSubViewPtr aufrufen, um diese Felder in den Stream zu schreiben.

 Siehe auch:
   PutSubViewPtr,TGroup
   Put,TStream         
   Load
   TGView.Store
   TGGroup

TGGroup.UnLock - Methode



                  gvision, Page #  64   Date 7-3-1996 Thursday
                                    -   65 -





 

 Deklaration:
   procedure UnLock;

 Funktion:
Die Methode dekrementiert LockFlag um eins und ruft, wenn LockFlag 0 ist,
DrawView auf.

TGGroup.Valid - Methode
 

 Deklaration:
   function Valid(Command: Word): Boolean; virtual;

 Funktion:
Gibt True zurck, wenn die gleichnamigen Methoden aller Subviews der Gruppe
ebenfalls True ermitteln. ber diese Methode kontrolliert Execute, ob die
Beendigung der Ausfhrung mglich ist.

Eine Gruppe kann die Eigenschaft der Modalitt nur dann abgeben, wenn Valid
True zurckgibt. Eine Subview kann False zurckgeben, wenn sie den Fokus
behalten will oder mu.

 Siehe auch:
   Valid,TView
   Execute
   TGGroup

TWindow - Objekt (Unit GVViews)
 

TWindow ist ein spezialisierter Nachkomme von TGGroup und damit selbst eine
Gruppe, zu der blicherweise ein TFrame-Objekt gehrt, das ein
TScroller-Objekt oder hnliches umschliet, und darber hinaus
auch ein oder zwei TScrollBar-Objekte umfat. Diese Objekte
machen ein TWindow-Objekt auf dem Bildschirm sichtbar.

TFrame versieht das Fenster mit einen Rahmen, der Platz bietet fr einen
Titel und verschiedene Symbole enthlt, die es ermglichen, mittels der Maus
die Position des Fensters und seine Gre zu ndern.

Zu den Fhigkeiten eines TWindow-Objekts zhlt auch, mit Bildlaufleisten
umgehen zu knnen.

Hat das Feld Number einen Wert zwischen 1 und 9, kann das Fenster ber die
Tastenkombination [Alt][Ziffer] selektiert werden.
An dieser Stelle soll auch auf die intelligente Fensternummerverwaltung in
GV hingewiesen werden (siehe GVWinNum).

 Felder:
   Flags
   ZoomRect      
   Number        



                  gvision, Page #  65   Date 7-3-1996 Thursday
                                    -   66 -





   Palette
   Frame         
   Title

 Methoden:
   Init
   Load
   Done          
   Close
   GetClientRect
   GetPalette
   GetTitle      
   HandleEvent   
   InitFrame     
   SetState
   SizeLimits
   StandardScrollBar
   Store
   Zoom          

TWindow.Flags - Feld
 

 Deklaration:
   Flags: Byte;     LESEN/SCHREIBEN

 Funktion:
Dieses Feld legt einige Eigenschaften des Fensters fest; die einzelnen Bits
haben folgende Bedeutung:

 ͻ
 msb                  lsb
 ͼ
                        wfMove       = $01
                     wfGrow       = $02
                  wfClose      = $04
               wfZoom       = $08
            wfShowNumber = $10;
         wfBackground = $20;
      wfShowTitle  = $40;
   wfModal      = $80;

 Siehe auch:
   wfXXXXXXX
   TWindow

TWindow.Palette - Feld
 

 Deklaration:
  Palette: Integer;     LESEN/SCHREIBEN

 Funktion:
Gibt an, welche Farbpalette fr dieses Fenster verwendet wird, und kann die



                  gvision, Page #  66   Date 7-3-1996 Thursday
                                    -   67 -





Werte wpWhiteWindow, wpGrayWindow und wpCyanWindow annehmen. Voreingestellt
ist die Palette wpWhiteWindow.

 Siehe auch:
   wpXXXXXXX
   GetPalette
   TWindow

TWindow.Title - Feld
 

 Deklaration:
   Title: PString;     LESEN/SCHREIBEN

 Funktion:
Zeigt auf den String, der als (optionaler) Titel des Fensters erscheint.

 Siehe auch:
   TWindow

TWindow.Init - Konstruktor
 

 Deklaration:
   constructor Init(var Bounds: TRect; ATitle: TTitleStr; ANumber:
       Integer);

 Funktion:
Initialisiert ber TGGroup.Init(Bounds) ein Fenster in der in
Bounds angegebenen Gre.

In Options werden die Bits ofSelectable, ofTopSelect und ofTileable, in
GrowMode die Bits gfGrowAll + gfGrowRel und in Flags alle
wfXXXXXXX Bits gesetzt. Den Feldern Title und
Number werden ATitle und ANumber zugewiesen.

Schlielich ruft dieser Konstruktor InitFrame auf und fgt das erzeugte
TFrame-Objekt der Gruppe hinzu. Die Werte von Bounds werden
schlielich im Feld ZoomRect gespeichert.

 Siehe auch:
   TFrame.Init
   TWindow

TWindow.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Ruft den von TGGroup geerbten Load-Konstruktor auf, der ein
TGGroup-Objekt aus dem Stream S liest, und ldt dann selbst die Werte der von
TWindow neu eingefhrten Felder.



                  gvision, Page #  67   Date 7-3-1996 Thursday
                                    -   68 -






 Siehe auch:
   TGGroup.Load
   TWindow

TWindow.Close - Methode
 

 Deklaration:
   procedure Close; virtual;

 Funktion:
Ruft die Methode Valid mit cmClose als Command-Parameter auf und schliet,
wenn Valid True zurckgibt, ber den Destruktor Done das Fenster.

 Siehe auch:
   TWindow

TWindow.GetClientRect - Methode
 

 Deklaration:
   procedure GetClientRect(var R: TRect); virtual;

 Funktion:
Gibt in R den Bereich innerhalb des Fensterrahmens zurck.
Dies ist der Bereich, in dem sich der Fensterinhalt (zum Beispiel ein
TScroller-Objekt befindet).

TWindow.GetPalette - Methode
 

 Deklaration:
   function GetPalette: PPalette; virtual;

 Funktion:
Diese Methode gibt einen Zeiger auf die Farbpalette zurck, die mittels des
Indexwertes im Feld Palette ermittelt wird. Die folgende Tabelle zeigt,
welche Farbpaletten den verschiedenen Werten von Palette entsprechen:


 Feld Palette   Rckgabewert
 
 wpWhiteWindow  CWhiteWindow
 wpGrayWindow   CGrayWindow
 wpCyanWindow   CCyanWindow


 Siehe auch:
   Palette
   TWindow

TWindow.SetState - Methode
 



                  gvision, Page #  68   Date 7-3-1996 Thursday
                                    -   69 -






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

 Anmerkung:
Ruft zunchst die von TGGroup geerbte SetState-Methode auf und aktiviert oder
deaktiviert dann - sofern AState gleich sfSelected ist - das Fenster und
mittels SetState(sfActive, Enable) die dazu gehrenden Subviews.

Schlielich wird fr die Befehle cmNext, cmPrev, cmResize, cmClose und
cmZoom sowie die Befehle in WindowCmds die Methode
EnableCommands oder DisableCommands aufgerufen.

 Siehe auch:
   DisableCommands
   EnableCommands 
   SetState,TGroup
   TWindow

TWindow.SizeLimits - Methode
 

 Deklaration
   procedure SizeLimits(var Min,Max: TPoint); virtual;

 Funktion:
Setzt die Minimal- und Maximalwerte, die das Fenster in seiner Gre nicht
unter- bzw. berschreiten darf. Dazu ruft diese Methode
TGView.SizeLimits(Min, Max) auf und setzt dann Min auf GMinWinSize.

 Siehe auch:
   SizeLimits,TView
   TWindow

TWindow.StandardScrollBar - Methode
 

 Deklaration:
   function StandardScrollBar(AOptions: Word): PScrollBar;

 Funktion:
Diese Methode initialisiert eine Bildlaufleiste, fgt dieses Objekt in die
Gruppe ein und gibt einen Zeiger darauf zurck. Die Gre der Bildlaufleiste
ist so bemessen, da sie keine Ecke oder Kante des Rahmens berdeckt, so da
es immer mglich ist, mittels der Maus die Fenstergre zu ndern.

Der Parameter AOptions hat entweder den Wert sbHorizontal, wodurch eine
horizontale Bildlaufleiste am unteren Fensterrand definiert wird, oder den
Wert sbVertical, wodurch eine vertikale Bildlaufleiste am rechten Fensterrand
definiert wird.

Ist in AOptions auch das Bit sbHandleKeyboard gesetzt, reagiert die
Bildlaufleiste ber Mausereignisse hinaus auch auf Tastaturereignisse.




                  gvision, Page #  69   Date 7-3-1996 Thursday
                                    -   70 -





 Siehe auch:
   sbXXXXXXX
   TWindow

TWindow.Store - Methode
 

 Deklaration:
   procedure Store(var S: TStream);

 Funktion:
Schreibt ber TGGroup.Store(S) das Fenster und alle zu dieser
Gruppe gehrenden Subviews in den angegebenen Stream. Dann werden auch die
Felder Flags, Frame und Title mittels
S.Write in dem Stream gespeichert.

 Siehe auch:
   Frame,TWindow
   TWindow

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        
  TListBoxRec   

  TDialog
  TInputLine
  TArrowField
  TNumInput
  TButton
  TGButton
  TRegler
  TCluster
  TRadioButtons
  TCheckBoxes
  TMultiCheckBoxes
  TListBox
  TStaticText
  TParamText



                  gvision, Page #  70   Date 7-3-1996 Thursday
                                    -   71 -





  TStaticSign
  TLabel
  TIcon
  THistoryViewer
  THistoryWindow
  THistory

cmArroUp, cmArrowDn - Kommandos (Unit GVDialog)
 

 
   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.

bfGrabFocus - Konstante (Unit GVDialog)
 

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

FreeSItem - Prozedur (Unit GVDialog)
 

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

GetGVDialogCursor - Prozedur (Unit GVDialog)
 

procedure GetGVDialogCursor (n: Integer);

Funktion
Diese Routine stellt die in GVDialog zustzlich verwendeten Mauszeiger bereit.

siehe auch



                  gvision, Page #  71   Date 7-3-1996 Thursday
                                    -   72 -





   DoGetMCursor

TListBoxRec - Record (Unit GVDialog)
 

 
  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
   SetData,TListBox

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       
   GetPalette 
   HandleEvent
   Valid      

TInputLine - Objekt (Unit GVDialog)
 



                  gvision, Page #  72   Date 7-3-1996 Thursday
                                    -   73 -






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,
Load, Store, Valid, DataSize, GetData und SetData berschreiben.

Felder
  CurPos   
  Data     
  FirstPos 
  MaxLen   
  SelEnd   
  SelStart 
  Validator

Methoden
  Init
  ChMCursor
  DataSize    
  Done
  Draw
  DrawText
  GetData     
  HandleEvent
  Load
  SelectAll   
  SetCurPos
  SetData     
  SetSelect
  SetState
  SetValidator
  Store
  Valid       

siehe auch
  TNumInput

TInputLine.Init - Konstruktor
 



                  gvision, Page #  73   Date 7-3-1996 Thursday
                                    -   74 -






   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
 

   procedure ChMCursor; virtual;

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
 

   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
  TInputLine

TInputLine.Draw - Methode
 

   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



                  gvision, Page #  74   Date 7-3-1996 Thursday
                                    -   75 -





DrawText.

Siehe auch
  TInputLine

TInputLine.DrawText - Methode
 

   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

TInputLine.HandleEvent - Methode
 

   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
  TGView.HandleEvent
  TInputLine

TInputLine.Load - Konstruktor
 

   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



                  gvision, Page #  75   Date 7-3-1996 Thursday
                                    -   76 -





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
  TGView.Load
  TInputLine

TInputLine.SetCurPos - Methode
 

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

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
 

   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
  SelEnd  

TInputLine.SetState - Methode
 

   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



                  gvision, Page #  76   Date 7-3-1996 Thursday
                                    -   77 -





gesetzt ist.

Siehe auch
   sfXXXXXXX
   TGView.DrawView
   TGView.SetState
   TInputLine

TInputLine.Store - Methode
 

   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.

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

Siehe auch
   Load
   Write,TStream
   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
 

   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



                  gvision, Page #  77   Date 7-3-1996 Thursday
                                    -   78 -





 

   procedure Draw; virtual;

Funktion
Stellt das TArrowField-Objekt auf dem Bidlschirm dar.

TArrowField.HandleEvent - Methode
 

   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);

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



                  gvision, Page #  78   Date 7-3-1996 Thursday
                                    -   79 -





   GetData
   HandleEvent
   SetData
   SetLimit
   Store

TNumInput.LimitHi - Feld
 

   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
 

   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
 

   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
 

   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.




                  gvision, Page #  79   Date 7-3-1996 Thursday
                                    -   80 -





siehe auch
  TNumInput

TNumInput.Init - Konstruktor
 

 
   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.

siehe auch
   MaxLen,TInputLine
   Data,TInputLine  
   SetLimit
   TNumInput

TNumInput.Load - Konstruktor
 

   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
  Read,TStream         
  Store
  TNumInput

TNumInput.DataSize - Methode
 

  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



                  gvision, Page #  80   Date 7-3-1996 Thursday
                                    -   81 -





   TNumInput

TNumInput.GetData - Methode
 

   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
  SetData
  TNumInput

TNumInput.HandleEvent - Methode
 

   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
 

   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   
   SetData,TInputLine
   LimitHi
   LimitLo
   GetData
   TNumInput

SETLIMIT,TNUMINPUT
 

   procedure SetLimit (ALimitLo, ALimitHi: Integer);



                  gvision, Page #  81   Date 7-3-1996 Thursday
                                    -   82 -






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
 

   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.

siehe auch
  PutPeerViewPtr,TGView
  Write,TStream         
  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  
   AmDefault

Methoden
   Init       
   Load       
   Done       
   Draw       



                  gvision, Page #  82   Date 7-3-1996 Thursday
                                    -   83 -





   DrawState
   DrawText
   CondDrawState
   HandleEvent
   MakeDefault
   Press      
   SetState
   Store      

TButton.Title - Feld
 

   Title: PString;

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

Siehe auch
  TButton

TButton.Flags - Feld
 

   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
 

   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
   DrawText
   TButton




                  gvision, Page #  83   Date 7-3-1996 Thursday
                                    -   84 -





TButton.DrawText - Methode
 

   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
 

   procedure CondDrawState(Down:Boolean);

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
 

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



                  gvision, Page #  84   Date 7-3-1996 Thursday
                                    -   85 -





   Sign

Methoden
   Init
   Load
   Store
   Done
   DrawText


TGButton.Sign - Feld
 

   Sign: Pointer;

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

siehe auch
   TGButton

TGButton.Init - Konstruktor
 

 
   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
   TGButton

TGButton.Load - Konstruktor
 

   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
   Store
   TGButton



                  gvision, Page #  85   Date 7-3-1996 Thursday
                                    -   86 -






TGButton.Store - Methode
 

   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
   Load
   TGButton

TGButton.Done - Destruktor
 

   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
   TGButton

TGButton.DrawText - Methode
 

   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



                  gvision, Page #  86   Date 7-3-1996 Thursday
                                    -   87 -






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
   Store

TRegler.Value - Feld
 

   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
 

 
    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



                  gvision, Page #  87   Date 7-3-1996 Thursday
                                    -   88 -





   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
 

   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.

siehe auch
   Done,TView
   Init
   TRegler

TRegler.Load - Konstruktor
 

   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
 

   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
 



                  gvision, Page #  88   Date 7-3-1996 Thursday
                                    -   89 -






   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
 

   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
und die Beschriftungen an den korrespondierenden Stellen ausgegeben.

siehe auch
   TRegler

TRegler.SetState - Methode
 

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

Funktion
Ruft lediglich TGView.SetState auf.

siehe auch
   TRegler

TRegler.SetData - Methode
 

   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
 

   procedure GetData(var Rec); virtual;




                  gvision, Page #  89   Date 7-3-1996 Thursday
                                    -   90 -





Funktion
Gibt sofern nicht berschrieben den Wert von Value zurck.

siehe auch
   SetData
   TRegler

TRegler.DataSize - Methode
 

   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
   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     
   Sel       
   EnableMask
   Strings   

Methoden
   Init          
   Load          
   Done          
   ButtonState   
   DataSize      
   Draw



                  gvision, Page #  90   Date 7-3-1996 Thursday
                                    -   91 -





   DrawItem
   GetData       
   GetHelpCtx    
   GetIconNum
   GetItemRect
   HandleEvent   
   Mark
   MultiMark     
   Press         
   MovedTo       
   SetButtonState
   SetData       
   SetState      
   Store         

TCluster.Draw - Methode
 

   procedure Draw; virtual;

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
 

   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
 

   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:




                  gvision, Page #  91   Date 7-3-1996 Thursday
                                    -   92 -





 
   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
 

   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
 

   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.




                  gvision, Page #  92   Date 7-3-1996 Thursday
                                    -   93 -





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
   Press  
   SetData

siehe auch
   Value,TCluster

TRadioButtons.GetIconNum - Methode
 

   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
 

   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.



                  gvision, Page #  93   Date 7-3-1996 Thursday
                                    -   94 -






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
   Press

TCheckBoxes.GetIconNum - Methode
 

   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
 

   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
   TCheckBoxes

TMultiCheckBoxes - Objekt (Unit GVDialog)
 



                  gvision, Page #  94   Date 7-3-1996 Thursday
                                    -   95 -






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 
   DrawItem
   GetData  
   GetIconNum
   MultiMark
   Press    
   SetData  
   Store

TMultiCheckBoxes.SelRange - Feld
 

   SelRange: Byte;

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

TMultiCheckBoxes.Flags - Feld
 

   Flags: Word;

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

Siehe auch
  cfXXXX-Konstanten
  TMultiCheckBoxes

TMultiCheckBoxes.States - Feld
 

   States: Pointer;

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



                  gvision, Page #  95   Date 7-3-1996 Thursday
                                    -   96 -






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



                  gvision, Page #  96   Date 7-3-1996 Thursday
                                    -   97 -





 

   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

TMultiCheckBoxes.Init - Konstruktor
 

 
    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



                  gvision, Page #  97   Date 7-3-1996 Thursday
                                    -   98 -





        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:
 
 ...
 Insert(New(PMultiCheckBoxes, Init(R, NewSItem (.....), 2, cfOneBit,
    @MultiStates);
 ...
 

siehe auch
   Init,TCluster
   TMultiCheckBoxes

TMultiCheckBoxes.Load - Konstruktor
 

   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
    TMultiCheckBoxes

TMultiCheckBoxes.Done - Destruktor
 

   destructor Done; virtual;

Funktion
Gibt den von States belegten Speicher wieder frei,
sofern MyData true ist und ruft danach



                  gvision, Page #  98   Date 7-3-1996 Thursday
                                    -   99 -





TCluster.Done auf, um das Objekt vom Bildschirm zu entfernen.

siehe auch
   Done,TCluster
   TMultiCheckBoxes

TMultiCheckBoxes.DrawItem - Methode
 


   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
   TCluster.DrawItem
   GetIconNum
   TMultiCheckBoxes

TMultiCheckBoxes.GetIconNum - Methode
 

   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
 

   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
   TMultiCheckBoxes

TListBox - Objekt (Unit GVDialog)
 

TListBox ist ein von TListViewer abgeleitetes Objekt, das Ihnen
ermglicht, Listen miteinander verketteter Objekte, zum Beispiel eine Liste



                  gvision, Page #  99   Date 7-3-1996 Thursday
                                    -  100 -





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.

Felder
   List   
   NewFocus

Methoden
   Init
   Load
   DataSize
   GetData 
   GetText 
   NewList
   SetData 
   Store

TListBox.NewFocus - Feld
 

   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
 

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

Funktion
Erstellt ein TListBox-Objekt von der in Bounds angegebenen Gre, mit
einer ber AScrollBar referenzierten Bildlaufleiste.



                  gvision, Page # 100   Date 7-3-1996 Thursday
                                    -  101 -





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
 

   constructor Load(var S: TStream);

Funktion
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
   TListBox

TListBox.NewList - Methode
 

   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
  TListViewer.FocusItem
  TGView.DrawView
  TListBox

TListBox.Store - Methode
 

   procedure Store(var S: TStream); virtual;



                  gvision, Page # 101   Date 7-3-1996 Thursday
                                    -  102 -






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

Felder
   Text   

Methoden
   Init   
   Done   
   Load   
   Store  
   GetText
   Draw   

TParamText - Objekt (Unit GVDialog)
 

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

Felder
   ParamCount
   ParamList 

Methoden
   Init      
   Load      
   DataSize  
   GetText   
   SetData   
   Store     

TStaticSign - Objekt (Unit GVDialog)
 

TStaticSign ist das grafische Pendant zu TStaticText. Das Objekt gibt lediglich



                  gvision, Page # 102   Date 7-3-1996 Thursday
                                    -  103 -





eine Bitmap aus und reagiert weder auf Maus noch auf Tastaturereignisse.

Felder
   Sign

Methoden
   Init
   Load
   Done
   Store
   Draw

TStaticSign.Sign - Feld
 

   Sign: Pointer;

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

siehe auch
   TStaticSign

TStaticSign.Init - Konstruktor
 

   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
 

   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
 



                  gvision, Page # 103   Date 7-3-1996 Thursday
                                    -  104 -






   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
   TStaticSign

TStaticSign.Store - Methode
 

   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
Sign^ in S geschrieben.

siehe auch
   Load
   TStaticSign

TStaticSign.Draw - Methode
 

   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       
   Light      



                  gvision, Page # 104   Date 7-3-1996 Thursday
                                    -  105 -






Methoden
   Init       
   Load       
   Draw       
   HandleEvent
   Store      

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)
 

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   

Methoden
   Init        
   GetText     
   HandleEvent 
   HistoryWidth

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      

Methoden
   Init        
   GetSelection
   InitViewer  

THistory - Objekt (Unit GVDialog)
 

Ein THistory-Objekt ist immer mit einem Objekt des Typs TInputLine verbunden



                  gvision, Page # 105   Date 7-3-1996 Thursday
                                    -  106 -





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             
   HistoryId        

Methoden
   Init             
   Load             
   Draw
   HandleEvent      
   InitHistoryWindow
   RecordHistory    
   Store            

THistory.Draw - Methode
 

   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

GVMenus - Unit
 

GVMenus ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVMenus stellt die Mens und die Statuszeile von GV bereit.

Die Objekte sind nahezu kompatibel mit TV. Das heit, Sie knnen GVMenus genauso
benutzen, wie von TV gewohnt. Es gibt aber einige Erweiterungen, die hier
dokumentiert werden. Alle anderen Routinen bzw. Objektmethoden sind durch
Turbo Vision dokumentiert.

Neues auf einen Blick




                  gvision, Page # 106   Date 7-3-1996 Thursday
                                    -  107 -





Variablen und Konstanten
  dfXXXXXXX

Prozeduren und Funktionen
  NewBitmap
  NewBmpSubmenu
  NewCheckItem
  NewBmpCheckItem

  NewItem    
  NewLine    
  NewSubMenu 

  NewMenu    
  DisposeMenu

  LookUpMenu
  SetMenuState
  ChangeMenuState
  GetMenuState

Records und Objekte
  TMenu      
  TMenuItem
  TStatusItem
  TStatusDef 
  TMenuView
  TMenuBar
  TMenuBox
  TMenuPopup
  TStatusLine

Neues auf einen Blick  (Unit GVMenus)
 

1) In Graphics Vision ist mglich, Bitmaps als Meneintrge zu verwenden.
siehe: NewBitmap       bzw.    NewBmpSubmenu

2) Das aus Windows bekannte Hkchen neben einzelnen Eintrgen ist nun auch
hier verfgbar. (siehe NewCheckItem)

3) Bei TStatusLine kann man Steuerzeichen fr Schriftarten angeben.

dfXXXXXXX - Konstanten (Unit GVMenus)
 

Hierbei handelt es sich um Flags fr das Feld Disabled eines TMenuItem
Records.

 siehe auch:
   dfDisabled
   dfMenuCheck
   dfRadio
   dfCheckState



                  gvision, Page # 107   Date 7-3-1996 Thursday
                                    -  108 -





   dfBitmap

dfDisabled - Konstante (Unit GVMenus)
 

 Deklaration:
   dfDisabled   = $01;

 Funktion:
dfDisabled ist ein Flag fr das Disabled Feld eines TMenuItem - Records.
Ist es gesetzt, dann ist der Meneintrag inaktiv. Dies entspricht dem Fall,
da in TV das Disabled-Feld den Wert true annimmt.

 siehe auch:
   dfXXXXXXX
   dfMenuCheck
   dfRadio
   dfCheckState
   dfBitmap

dfMenuCheck - Konstante (Unit GVMenus)
 

 Deklaration:
   dfMenuCheck   = $02;

 Funktion:
dfMenuCheck ist ein Flag fr das Disabled Feld eines TMenuItem - Records.
Ist es gesetzt, ist der entsprechende Meneintrag befhigt, mit dem aus Windows
bekannte Haken zu operieren. Der Meneintrag funktioniert dann wie ein Eintrag
eines TCheckBoxes Objektes.

 siehe auch:
   dfXXXXXXX
   dfDisabled
   dfRadio
   dfCheckState
   dfBitmap

dfRadio - Konstante (Unit GVMenus)
 

 Deklaration:
   dfRadio = $04;

 Funktion:
dfRadio ist ein Flag fr das Disabled Feld eines TMenuItem - Records.
Wenn dieses Flag zustzlich zu dfMenuCheck gesetzt ist, dann werden alle
Eintrge eines Mens (Untermens werden nicht bercksichtigt) bei denen dieses
Flag gesetzt ist hnlich wie die Eintrge in einem TRadioButton Objekt behandelt,
d.h. der aus Windows bekannte Haken wird jeweils nur neben einem Meneintrag
dargestellt.

 siehe auch:



                  gvision, Page # 108   Date 7-3-1996 Thursday
                                    -  109 -





   dfXXXXXXX
   dfDisabled
   dfCheckState
   dfBitmap

dfCheckState - Konstante (Unit GVMenus)
 

 Deklaration:
   dfCheckState = $08;

 Funktion:
dfCheckState ist ein Flag fr das Disabled Feld eines TMenuItem - Records.
Das Flag gibt an, ob der Eintrag gerade selektiert (Haken ist sichtbar).

 siehe auch:
   dfXXXXXXX
   dfDisabled
   dfMenuCheck
   dfRadio
   dfBitmap

dfBitmap - Konstante (Unit GVMenus)
 

 Deklaration:
   dfBitmap = $10;

 Funktion:
dfBitmap ist ein Flag fr das Disabled Feld eines TMenuItem - Records.
Wenn dieses Flag gesetzt ist, so wird das Feld Name des entsprechenden
TMenuItem Records als ein Zeiger auf eine mit VGAMem.GetImage (s.d.) erzeugte
Bitmap interpretiert sonst wie gewhnlich als Zeiger auf einen String.

 siehe auch:
   dfXXXXXXX
   dfDisabled
   dfMenuCheck
   dfRadio
   dfCheckState

dfByPosition - Konstante (Unit GVMenus)
 
   dfByPosition = $100;
Funktion
Verwenden Sie diese Konstante in:

   LookUpMenu
   SetMenuState
   ChangeMenuState
   GetMenuState

dfByCommand - Konstante (Unit GVMenus)
 



                  gvision, Page # 109   Date 7-3-1996 Thursday
                                    -  110 -





   dfByCommand = $000;
Funktion
Verwenden Sie diese Konstante in:

   LookUpMenu
   SetMenuState
   ChangeMenuState
   GetMenuState

NewBitmap - Funktion (Unit GVMenus)
 

 Deklaration:
   function NewBitmap(Image: Pointer; KeyCode: Word; Command: Word;
     AHelpCtx: Word; Next: PMenuItem): PMenuItem;

 Funktion:
NewBitmap erzeugt eine Menoption, die anstatt des Textes ein Image ausgibt.
Image ist ein Zeiger auf ein mit VGAMem.GetImage erzeugtes Bild.
Ansonsten ist die Funktion identisch mit NewItem. Hinweis: Beachten Sie, da
NewBitmap eine eigene Kopie der Bilddaten im Speicher anlegt. Sie mssen also
Ihr als Parameter bergebenes Image selbst aus dem Speicher entfernen.

 siehe auch:
   TMenuItem
   NewBmpSubMenu
   NewCheckItem
   NewBmpCheckItem

NewBmpSubmenu - Funktion (Unit GVMenus)
 

 Deklaration:
   function NewBmpSubMenu(Image: Pointer; AHelpCtx: Word; SubMenu: PMenu;
     Next: PMenuItem): PMenuItem;

 Funktion:
NewBmpSubmenu erzeugt eine Untermen, das anstatt des Textes ein Image
ausgibt. Image ist ein Zeiger auf eine mit VGAMem.GetImage erzeugtes Bild.
Ansonsten ist die Funktion identisch mit NewSubMenu. Hinweis: Beachten Sie,
da NewBitmap eine eigene Kopie der Bilddatenim Speicher anlegt. Sie mssen
also Ihr als Parameter bergebenes Image selbst aus dem Speicher entfernen.

 siehe auch:
   TMenuItem
   NewBitmap
   NewCheckItem
   NewBmpCheckItem

NewCheckItem - Funktion (Unit GVMenus)
 

 Deklaration:
   function NewCheckItem(Name, Param: TMenuStr; KeyCode, Command,



                  gvision, Page # 110   Date 7-3-1996 Thursday
                                    -  111 -





     AHelpCtx: Word; ADisabled: Byte; Next: PMenuItem): PMenuItem;

 Funktion:
NewCheckItem ermglicht es Ihnen, das Disabled Feld eines TMenuItem - Records
mit einem Startwert zu belegen. Benutzen Sie einfach die dfXXXXXXX - Konstanten.
Wollen Sie z.B. eine selektierbare Menoption, bei der der Haken bereits zu
sehen ist, generieren, so schreiben Sie bei der Erzeugung Ihres Mens
folgendes:

  ....
  NewCheckItem ('~M~yname','Ctrl-F9',kbCtrlF9,cmRun,hcSth,
    dfMenuCheck+dfCheckState,
  ....)

 siehe auch:
   TMenuItem
   NewBitmap
   NewBmpSubMenu
   NewBmpCheckItem

NewBmpCheckItem - Funktion (Unit GVMenus)
 

 Deklaration:
   function NewBmpCheckItem(Image: pointer; KeyCode, Command,
     AHelpCtx: Word; ADisabled: Byte; Next: PMenuItem): PMenuItem;

 Funktion:
NewBmpCheckItem ermglicht es Ihnen, das Disabled Feld eines TMenuItem-Records
mit einem Startwert zu belegen. Benutzen Sie einfach die dfXXXXXXX - Konstanten.
Im Unterschied zu NewCheckItem wird nicht ein Text, sondern ein
Image ausgegeben.

 siehe auch:
   TMenuItem
   NewBitmap
   NewCheckItem
   NewBmpSubMenu

LookUpMenu - Funktion  (Unit GVMenus)
 
function LookUpMenu(Menu: PMenu; idCheckItem: Word; Flags: Word): PMenuItem;
Funktion
Diese Funktion durchsucht eine TMenu-Datenstruktur nach einem
Eintrag. Der Parameter Flags steuert, ob idCheckItem die
laufende Nummer im Men (dfByPosition) oder
das zugehrige Kommando (dfByCommand) angibt.
Es wird der passende Eintrag zurckgegeben oder NIL, wenn kein
solcher Eintrag existiert.

SetMenuState - Funktion  (Unit GVMenus)
 
function SetMenuState(Menu: PMenu; idCheckItem: Word; Check: Word): Word;
Funktion



                  gvision, Page # 111   Date 7-3-1996 Thursday
                                    -  112 -





Diese Funktion ermglicht das Setzen des Disabled-Felds eines
Meneintrags. Der Parameter Check setzt sich zusammen aus
einem dfByPosition/dfByCommand-Flag
(welches fr LookUpMenu verwendet wird) und dem
neuen Wert fr das Disabled-Feld (dfXXXXXXX).

Siehe auch
  ChangeMenuState
  GetMenuState

ChangeMenuState - Funktion (Unit GVMenus)
 
 
  function ChangeMenuState(Menu: PMenu; idCheckItem: Word;
    Check: Word; Enable: Boolean): Word;
 
Funktion
Diese Funktion ermglicht das Verndern des Disabled-Felds eines
Meneintrags. Der Parameter Check setzt sich zusammen aus
einem dfByPosition/dfByCommand-Flag
(welches fr LookUpMenu verwendet wird) und einer
Maske fr das Disabled-Feld (dfXXXXXXX).
Ist Enable true, dann werden die Flags in der Maske gesetzt, sonst
gelscht.

Siehe auch
  SetMenuState
  GetMenuState

GetMenuState - Funktion (Unit GVMenus)
 
function GetMenuState(Menu: PMenu; idCheckItem: Word; Flags: Word): Word;
Funktion
Diese Funktion erlaubt das Auslesen des Disabled-Felds eines Meneintrags.
Dazu wird LookUpMenu verwendet. Parameter s.d.

Siehe auch
  SetMenuState
  ChangeMenuState

TMenuItem - Record (Unit GVMenus)
 

 Deklaration:
   TMenuItem = record
    Next: PMenuItem;
    Name: Pointer;              { Sehen Sie hier ... }
    Command: Word;
    Disabled: Byte;             { .... und hier !    }
    KeyCode: Word;
    HelpCtx: Word;
    case Integer of
      0: (Param: PString);
      1: (SubMenu: PMenu);



                  gvision, Page # 112   Date 7-3-1996 Thursday
                                    -  113 -





  end;

 Funktion:
Der Record ist in GV ein wenig verndert, um die erweiterten Funktionen des
Mens zu untersttzen.
Im einzelnen betrifft dies die Felder:

Name: Um sowohl Bitmaps als auch Strings im Men verwenden zu knnen,
ist Name in GV ein untypisierter Pointer.

Disabled: Hat in GV neben der Aufgabe festzulegen, ob die Menoption gerade
inaktiv ist noch einige zustzliche Aufgaben (siehe dfXXXXXXX).

TMenuView - Objekt (Unit GVMenus)
 

TMenuView ist ein abtrakter Objekttyp und
gemeinsamer Vorfahre der Objekte TMenuBar und
TMenuBox, die Menleisten und Menfenster zur
Verfgung stellen.

 Felder:
   ParentMenu 
   Menu       
   Current    

 Methoden:
   DrawItem
   IsBar

   Init       
   Load       
   Execute    
   FindItem   
   GetItemRect
   GetHelpCtx 
   GetPalette 
   HandleEvent
   HotKey     
   NewSubView 
   Store      

TMenuView.DrawItem - Methode
 

 Deklaration:
   procedure DrawItem (Item: PMenuItem); virtual;

 Funktion:
DrawItem stellt den Meneintrag, auf den Item zeigt auf dem Bildschirm dar.
Die Methode sollte von GV-Nutzern nicht aufgerufen werden.
In TMenuView ist DrawItem eine abstrakte Methode. Erst die Nachkommen verleihen
DrawItem Funktionalitt.




                  gvision, Page # 113   Date 7-3-1996 Thursday
                                    -  114 -





Das TMenuView-Objekt von Turbo Vision hat keine DrawItem-Methode.
Bei jeder Statusvernderung des Mens zeichnet es das gesamte Men
neu. Graphics Vision hingegen stellt mittels DrawItem nur die
vernderten Eintrge neu dar.

 siehe auch:
   TMenuBar.DrawItem
   TMenuBox.DrawItem

TMenuView.IsBar - Methode
 
function IsBar: Boolean; virtual;
Funktion
Diese Methode ersetzt das fr den Graphikmodus ungeeignete
Kalkl von Turbo Vision zum Erkennen einer Menleiste.

Diese Implementation gibt stets false zurck. Die Methode
wird in TMenuBar berschrieben.

TMenuBar - Objekt (Unit GVMenus)
 

TMenuBar stellt eine Menzeile bereit. Sie ist kompatibel mir Turbo Vision.
Es existiert lediglich eine zustzliche Methode, die aber keine Auswirkung
fr Sie als Nutzer hat.

Methoden:
  DrawItem
  IsBar

  Init       
  Done       
  Draw       
  GetItemRect

TMenuBar.DrawItem - Methode
 

 Deklaration:
   procedure DrawItem (Item: PMenuItem); virtual;

 Funktion:
DrawItem stellt den Meneintrag, auf den Item zeigt auf dem Bildschirm dar.
Die Methode sollte von GV-Nutzern nicht aufgerufen werden.
In TMenuBar erscheint ein solcher Eintrag als Text- oder Grafikausgabe in
einer Zeile.

 siehe auch:
   TMenuView.DrawItem
   TMenuBox.DrawItem

TMenuBar.IsBar - Methode
 
function IsBar: Boolean; virtual;



                  gvision, Page # 114   Date 7-3-1996 Thursday
                                    -  115 -





Funktion
Diese Methode ersetzt das fr den Graphikmodus ungeeignete
Kalkl von Turbo Vision zum Erkennen einer Menleiste.

Diese Implementation gibt stets true zurck.

TMenuBox - Objekt (Unit GVMenus)
 

TMenuBox stellt ein Pulldown-Men in GV bereit. Neben den aus TV bekannten
Funktionen untersttzt TMenuBox in GV auch Bitmaps und selektierbare Meneintrge.


Methoden:
  DrawItem

  Init       
  Draw       
  GetItemRect

siehe auch:
  NewBitmap
  NewCheckItem

TMenuBox.DrawItem - Methode
 

 Deklaration:
   procedure DrawItem (Item: PMenuItem); virtual;

 Funktion:
DrawItem stellt den Meneintrag, auf den Item zeigt auf dem Bildschirm dar.
Die Methode sollte von GV-Nutzern nicht aufgerufen werden.
In TMenuBox erscheint ein solcher Eintrag als Text- oder Grafikausgabe innerhalb
eines Pulldownmens. Die Methode untersttzt alle Standard - Turbo - Vision -
und alle zustzlichen GV - Features.

 siehe auch:
   TMenuView.DrawItem
   TMenuBar.DrawItem

TMenuPopup - Objekt (Unit GVMenus)
 
TMenuPopup ist ein spezielles Menfenster, das fr sich allein steht, also
nicht mit einer Menleiste oder einem anderen Menfenster verbunden ist. Der
einzigen Unterschiede zwischen einem TMenuPopup-Objekt bestehen in einem
vereinfachten Konstruktor und  der HandleEvent-Methode, die alle
Tastaturereignisse abarbeitet, bevor sie sie an die geerbte Methode
HandleEvent weiterreicht.

TMenuPopup weist einen Unterschied zu Turbo Vision auf:
Die Execute-Methode gibt nicht nur das Kommando zurck, sondern
legt es auch mit PutEvent in die Ereignisschlange.




                  gvision, Page # 115   Date 7-3-1996 Thursday
                                    -  116 -





Methoden:
  Execute

  Init
  HandleEvent


TMenuPopup.Execute - Methode
 
function Execute: Word; virtual;
Funktion
Zustzlich zu der Funktionalitt von TMenuView.Execute
legt diese Methode das ausgelste Kommando mittels PutEvent
in die Ereignisschlange.

 siehe auch:
   Menu             
   Execute,TMenuView

TStatusLine - Objekt (Unit GVMenus)
 

TStatusLine stellt eine Statuszeile in GV bereit. Es werden alle TV - Features
auch in GV untersttzt. Zustzlich knnen fr alle Texte der Statuszeile
Steuerzeichen fr die verwendete Schriftart angegeben werden. Jeweils das
erste Zeichen des Textes eines StatusHints bzw. eines StatusItems (erzeugt
ber NewStatusKey) steht fr die Textart. Gltige Zeichen sind:

  #0 - ftSystem wird fr den folgenden Text verwendet
  #1 - ftSansSerif wird fr den folgenden Text verwendet
  #2 - ftMonoSpace wird fr den folgenden Text verwendet

Wird ein anderes Zeichen benutzt, so wird automatisch ftSystem verwendet.

Wollen Sie z.B. fr einen Statuszeileneintrag die Schriftart ftSanserif statt
ftSystem benutzen so schreiben Sie:

 
 ...
 NewStatusKey(#1'Dieser ~Text~ ist in ftSansSerif',kbNoKey,cmSansSerif,
 ...
 

Fr die kontextsensitiven Hinweise in der Statuszeile gilt dies entsprechend.

 Felder:
   Items      
   Defs       

 Methoden:
   Init       
   Load       
   Done       
   Draw       



                  gvision, Page # 116   Date 7-3-1996 Thursday
                                    -  117 -





   GetPalette 
   HandleEvent
   Hint       
   Store      
   Update     

 siehe auch:
   ftXXXXXXX

GVApp - Unit
 

GVApp ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVApp stellt die Klassen der TV Unit App in GV bereit.
Die Klasse TBackground ist in GVViews implementiert.
Aufgrund der Anforderungen einer grafischen Oberflche sind einige Routinen
von TV hier verndert worden.

Variablen und Konstanten
  CColor
  cmIdle
  SaveGetMC

Prozeduren und Funktionen
  DoChMCursor
  DoGetMCursor
  StdStatusKeys     
  StdFileMenuItems  
  StdEditMenuItems  
  StdWindowMenuItems

Objekte
  TDesktop
  TProgram
  TApplication

cmIdle - Kommando (Unit GVApp)
 
   cmIdle = 41;
Funktion
Diese Kommando wird immer dann ausgelst, wenn gerade kein Ereignis anliegt.
Damit knnen Objekte im Hintergrund aktualisiert werden, wenn gerade nichts
"zu tun" ist.

siehe auch
   TProgram.Idle

SaveGetMC - Variable (Unit GVApp)
 

 Deklaration:
   SaveGetMC: TGetMCProc;




                  gvision, Page # 117   Date 7-3-1996 Thursday
                                    -  118 -





 Funktion:
Diese Variable speichert einen Zeiger auf die Routine, die vor dem Start eines
GV - Programmes in der Variable GetMCursor der Unit MyMouse gespeichert war.
Sie dient zusammen mit DoGetMCursor der Bereitstellung GV -
eigener Mauszeiger. Weitere Informationen erhalten Sie aus der MyMouse Dokumentation.

 siehe auch:
   GetGVViewsCursor
   GetGVDialogCursor
   TProgram.InitEvents

CColor - Palette (Unit GVApp)
 

CColor speichert die Farbpalette der Applikation. In GV werden natrlich keine
Farbattribute wie in TV (Textmodus) gespeichert sondern die Farbeintrge haben
Werte von 0 - 15 (entsprechend den Farbkonstanten).
Auch entfallen Paletten fr monochrome Darstellung, da GV nur VGA untersttzt.

brigens knnen Paletten von einzelnen Views auch direkt (ohne zwischengeschaltete
Palette ihres GOwner) auf CColor verweisen. Existiert keine
Palette der Gruppe geschieht dies automatisch. Sollte eine Gruppenpalette
existieren, verweist eine Viewpalette dann direkt auf CColor wenn die Verweisnummer
grer ist, als die Lnge der Gruppenpalette; z.B.

       CDialogElement = #112#113#114
       CGruppe        = #34#23#56
(Das Objekt, zu dem CDialogElement gehrt ist Mitglied der Gruppe, zu dem
CGruppe gehrt. Da CGruppe keinen 112. bis 114. Eintrag hat, geht GV davon aus
da CDialogElement die "nchsthhere" Palette meint.)

siehe auch:
  TGView.GetColor

DoChMCursor - Prozedur (Unit GVApp)
 

 Deklaration:
   procedure DoChMCursor; far;

 Funktion:
Diese Routine wird von MyMouse aufgerufen, um automatische Anpassungen des
Mauszeigers an Bedienelemente durchzufhren. Weitere Informationen erhalten
Sie in der MyMouse Dokumentation.

 siehe auch:
   TProgram.InitEvents

DoGetMCursor - Prozedur (Unit GVApp)
 

 Deklaration:
   procedure DoGetMCursor (n: Integer); far;




                  gvision, Page # 118   Date 7-3-1996 Thursday
                                    -  119 -





 Funktion:
Diese Prozedur wird von MyMouse aufgerufen, wenn ein Mauszeiger gesetzt werden
soll. Sie ruft die Routinen auf die GV - eigene Mauszeiger bereitstellen.
Auerdem werden die MyMouse Standardmauszeiger untersttzt.

 siehe auch:
   SaveGetMC
   GetGVViewsCursor
   GetGVDialogCursor
   TProgram.InitEvents

TDesktop - Objekt (Unit GVApp)
 

TDesktop unterscheidet sich nur uerst geringfgig von seinem TV - Pendant.
Sie mssen lediglich beachten, da TileColumnsFirst in GV standardmig true
ist, d.h. Fenster werden vorrangig nebeneinander angeordnet, wenn Sie Tile
aufrufen.

 Felder:
   Background      
   TileColumnsFirst

 Methoden:
   Init            
   Cascade         
   HandleEvent     
   Load            
   Store           
   InitBackground  
   Tile            
   TileError       

TProgram - Objekt (Unit GVApp)
 

TProgram bildet auch in GV das Fundament aller Programme. Einige der
Methoden sind in GV leicht modifiziert worden.

Methoden:
  DoneEvents
  DoneTexts
  ExecuteDialog
  GetEvent
  Idle
  InitEvents
  InitScreen
  InitTexts
  LanguageResource

  Init          
  Done          
  CanMoveFocus  
  GetPalette    



                  gvision, Page # 119   Date 7-3-1996 Thursday
                                    -  120 -





  HandleEvent   
  InitDesktop   
  InitMenuBar   
  InitStatusLine
  InsertWindow  
  OutOfMemory   
  PutEvent      
  Run           
  ValidView     

TProgram.Idle - Methode
 
   procedure Idle; virtual;
Funktion
GetEvent ruft Idle immer dann auf, wenn kein Ereignis anliegt. Statt also
auf Eingaben des Benutzers zu warten, kann das Programm in dieser Zeit im
Hintergrund andere Aufgaben erledigen.

Die Methode TProgram.Idle ruft StatusLine^.Update auf, damit sich die
Darstellung der Statuszeile entsprechend dem aktuellen Status des Programms
ndern kann.

Hat sich seit dem letzten Aufruf von TProgram.Idle der Satz verfgbarer
Befehle gendert, wird das Rundrufereignis cmCommandSetChanged abgesetzt,
was anderen View-Objekten, die von nderungen des Befehlssatzes abhngig
sind, erlaubt, sich den genderten Verhltnissen entsprechend darzustellen.

Wenn Sie die Idle-Methode berschreiben, sorgen Sie dafr, da in der neuen
Methode die geerbte Idle-Methode aufgerufen wird, und achten Sie darauf, da
die Aufgaben, die die neue Methode zu erledigen hat, den Rechner nicht allzu
lange beschftigen, da sonst Ihr Programm etwas lahm auf Eingaben des
Benutzers reagiert.

Zustzlich zu diesen Eigenschaften stellt Idle in GV eine weitere ntzliche
Funktion bereit. Bei jedem Aufruf wird das Kommando cmIdle vom
Type evBroadcast ausgelst. Dies knnen Sie in HandleEvent-Methoden
auswerten.

TProgram.DoneEvents - Methode
 

 Deklaration:
   procedure DoneEvents; virtual;

 Funktion:
DoneEvents beendet die Ereignisverwaltung von GV. DoneEvents ruft GVDriver.DoneEvents
auf. Im Unterschied zu TV handelt es sich bei DoneEvents um eine Methode eines
Objektes. Dies ergibt sich aus der Notwendigkeit, vernderbare Mauszeiger
zu verwenden.

 siehe auch:
   InitEvents

TProgram.DoneTexts - Methode



                  gvision, Page # 120   Date 7-3-1996 Thursday
                                    -  121 -





 

 Deklaration:
   procedure DoneTexts; virtual;

 Funktion:
DoneTexts ruft FreeTexts auf, um den Speicher den die Standardausgabetexte von
GV belegt haben wieder freizugeben.

 siehe auch:
   GVTexts
   TApplication

TProgram.ExecuteDialog - Methode
 

 Deklaration:
   function ExecuteDialog (P: PDialog; Data: Pointer): Word;

 Funktion:
Diese Funktion ist vollstndig mit TV kompatibel. Es gibt jedoch einen
Ausnahmefall, in dem sie nicht benutzt werden darf.

 siehe:
   ExecuteWindowList

TProgram.GetEvent - Methode
 

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

 Funktion:
GetEvent ruft zustzlich zu GetMouseEvent und GetKeyEvent noch eine dritte
Routine auf. Dies ist GetTimerEvent. Weitere Informationen hierzu finden Sie
in der MyMouse Dokumentation; GetTimerEvent gehrt zu MyMouse.
In GV ist zum Beispiel der Textkursor timergesteuert.

TProgram.InitEvents - Methode
 

 Deklaration:
   procedure InitEvents; virtual;

 Funktion:
InitEvents initialisiert die Ereignisverwaltung von GV durch einen Aufruf von
GVDriver.InitEvents. Die Variable ChangeCursor (Unit MyMouse) wird auf
DoChMCursor gesetzt, um automatische Mauszeigeranpassungen an
Bedienelemente zu ermglich.
SaveGetMC wird auf MyMouse.GetMCursor gesetzt. Diese Variable
wiederum auf DoGetMCursor, um die GV - eigenen Mauszeiger
verfgbar zu machen.
Wegen dieser Zuweisungen ist es ntig, da InitEvents eine Methode von
TProgram wird.



                  gvision, Page # 121   Date 7-3-1996 Thursday
                                    -  122 -






 siehe auch:
   DoneEvents

TProgram.InitScreen - Methode
 

 Deklaration:
   procedure InitScreen; virtual;

 Funktion:
Neben einer direkten Zuweisung eines Grafikmodus (grXXXXXXX) an StdGrMode bietet
InitScreen die zweite Mglichkeit einen anderen als den vorgegebenen Grafikmodus
einzustellen. berschreiben Sie einfach diese Methode und lassen Sie sie
SetScreenMode aufrufen. Den Aufruf anderer Routinen zur Manipulation
des Grafikmodus sollten Sie in InitScreen vermeiden.

TProgram.InitTexts - Methode
 

 Deklaration:
   procedure InitTexts; virtual;

 Funktion:
InitTexts initialisiert die von GV zu verwendenden Standardtexte durch einen
Aufruf von LoadTexts. Dazu wird nach der Resourcendatei gesucht,
deren Namen LanguageResource zurckgibt. Dabei
wird im Verzeichnis des gestarteten GV - Programms sowie in allen in der DOS -
Umgebungsvariable PATH angegebenen Verzeichnissen gesucht.

TProgram.LanguageResource - Methode
 

 Deklaration:
   function TProgram.LanguageResource: string; virtual;

 Funktion:
LanguageResource gibt abhngig vom Wert der Variablen Language den
Namen einer Sprachenresource zurck. Standardmig werden in GV die deutsche
sowie die englische Sprache untersttzt. Wollen Sie zustzlich andere Sprachen
untersttzen, so mssen Sie LanguageResource berschreiben, neue Werte fr
Language festlegen (z.B. lfSpanish) und nicht zuletzt natrlich die entsprechende
Resource bereitstellen.

 siehe auch:
   InitTexts
   GVTexts
   lfXXXXXXX

TApplication - Objekt (Unit GVApp)
 

TApplication ist zusammen mit seinem Vorfahren TProgram das Fundament
aller GV - Programme. Der Unterschied zu TV besteht lediglich in leichten



                  gvision, Page # 122   Date 7-3-1996 Thursday
                                    -  123 -





Vernderungen in Konstruktor und Destruktor des Objektes.

Es werden hier zustzlich die Routinen InitVGAMan bzw.
DoneVGAMan sowie InitTexts und
DoneTexts aufgerufen.

 Methoden:
   Init         
   Done         
   Cascade      
   DosShell     
   GetTileRect  
   HandleEvent  
   Tile         
   WriteShellMsg

GVValid - Unit
 

GVValid ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVValid stellt Validierungsobjekte in GV bereit.

Es werden hier lediglich die Error Methoden aller TV - Validierungsobjekte
modifiziert, da diese eine TV-MessageBox-Routine aufrufen, die
GV-Programme zum Absturz bringt. Beachten Sie die vernderten Typbezeichnungen
der Objekte. Hier eine Tabelle, die die Namen der GV- und TV-
Validierungsobjekte gegenberstellt:

 
  GV-Validierungsobjekt              TV-Validierungsobjekt

  TGPXPictureValidator           TPXPictureValidator   
  TGFilterValidator              TFilterValidator      
  TGStringLookupValidator        TStringLookupValidator
 

GVStdDlg - Unit
 

GVStdDlg ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVStdDlg stellt die aus der TV Unit StdDlgs bekannten Klassen fr GV bereit.

Alle Routinen und Methoden sind vollstndig zu TV
kompatibel.

Objekte und Records
  TChDirDialog   
  TDirCollection 
  TDirEntry      
  TDirListBox    
  TFileCollection
  TFileDialog    



                  gvision, Page # 123   Date 7-3-1996 Thursday
                                    -  124 -





  TFileInfoPane  
  TFileInputLine 
  TFileList      
  TSortedListBox 

siehe auch
   GVWList

GVWList - Unit
 

GVWList ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVWList stellt ein Dialogfenster zur Verwaltung von Fenstern auf dem Desktop
bereit.

Die aus der IDE von Borland Pascal bekannte Fensterliste ist in GV schon fix
und fertig vorhanden. Sie brauchen nur noch die Routine ExecuteWindowList
aufzurufen.

Konstanten
  wlXXXXXXX

Prozedur
  ExecuteWindowList

Objekte
  TWindowList
  TWListDialog

wlXXXXXXX - Konstanten (Unit GVWList)
 

Diese Flags werden beim Aufruf von TWListDialog.Init verwendet.
Dem Nutzer ist es damit mglich, dem Dialog verschiedene Parameter zu geben.

 siehe auch:
   wlNormal
   wlNoShowDesktop
   wlHelpButton

wlNormal - Konstante (Unit GVWList)
 

 Deklaration:
   wlNormal        = $0000;

 Funktion:
Diese Konstante wird mit TWListDialog.Init verwendet.
Es wird ein normales Dialogfenster zur Verwaltung der Fenster auf dem
Desktop erzeugt.

 siehe auch:
   wlNoShowDesktop



                  gvision, Page # 124   Date 7-3-1996 Thursday
                                    -  125 -





   wlHelpButton

wlNoShowDesktop - Konstante (Unit GVWList)
 

 Deklaration:
   wlNoShowDesktop = $0001;

 Funktion
Standardmig versucht TWListDialog.Init die Titel aller Fenster,
die momentan auf dem Desktop liegen, festzustellen. Wenn Sie nicht wnschen,
da der Desktop durchsucht wird, bergeben Sie diese Konstante an
TWListDialog.Init. Dies ist z.B. ntig, wenn ein TWListDialog Objekt in einer
Resource gespeichert werden soll, da derartige Programme meist keine GV-Applikation
darstellen und folglich auch kein Desktop existiert.

 siehe auch:
   wlNormal
   wlHelpButton

wlHelpButton - Konstante (Unit GVWList)
 

 Deklaration:
   wlHelpButton    = $0002;

 Funktion:
Wenn dieses Flag in AOptions bei TWListDialog.Init gesetzt wird,
wird in das Dialogfenster ein Hilfe-Schalter eingefgt.

 siehe auch:
   wlNormal
   wlNoShowDesktop

ExecuteWindowList - Prozedur (Unit GVWList)
 

 Deklaration:
   procedure ExecuteWindowList(AWListDialog: PWListDialog);

 Funktion:
Um eine Fensterliste zu nutzen, mssen sie lediglich ein TWListDialog -
Objekt erzeugen und an diese Routine bergeben.
ExecuteWindowList fgt das bergebene Objekt in die Applikation ein und ruft
dann seine Execute-Methode auf. Rckgabewerte existieren in diesem Fall nicht.
Diese Routine hat eine hnliche Funktionalitt wie TApplication.ExecuteDialog.
Die TApplication-Methode darf jedoch in keinem Fall mit einem TWListDialog-Objekt
benutzt werden.

 siehe auch:
   GVWList

TWindowList - Objekt (Unit GVWList)
 



                  gvision, Page # 125   Date 7-3-1996 Thursday
                                    -  126 -






Dieses Objekt stellt ein modifiziertes Listenfeld bereit. Es wird
von TWListDialog Objekten genutzt, um alle momentan auf dem Desktop befind-
lichen Fenster verwalten zu knnen. TWindowList Objekte sollten nicht
direkt von GV Nutzern verwendet werden. (Nutzen Sie wenn mglich immer
TWListDialog.)

TWListDialog - Objekt (Unit GVWList)
 

TWListDialog ist ein modifiziertes TDialog Objekt. Es stellt eine Fensterliste
bereit. Informationen zur Nutzung eines solchen Objektes erhalten sie unter
ExecuteWindowList.

Felder:
  List

Methoden:
  Init
  Load
  GetDesktop
  Store

siehe auch:
  GVWList

TWListDialog.List - Feld
 

 Deklaration:
   List: PWindowList;

 Funktion:
List ist ein Zeiger auf ein TWindowList Objekt, der von TWListDialog
verwendet wird.

TWListDialog.Init - Konstruktor
 

 Deklaration:
   constructor Init(AOptions: Word);

 Funktion:
Init erzeugt ein neues TWListDialog Objekt unter Beachtung der in AOptions
gesetzten Flags.

 siehe auch:
   wlXXXXXXX

TWLIstDialog.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);



                  gvision, Page # 126   Date 7-3-1996 Thursday
                                    -  127 -






 Funktion:
Load ldt ein TWListDialog Objekt aus dem Stream S.

TWListDialog.GetDesktop - Methode
 

 Deklaration:
   procedure GetDesktop;

 Funktion:
GetDesktop ruft List^.GetDesktop auf. Diese Methode stellt fest welche Fenster
momentan auf dem Desktop liegen. Es werden nur solche Fenster bercksichtigt, deren
Methode Exposed true zurckliefert.

 siehe auch:
   TWindowList


TWListDialog.Store - Methode
 

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

 Funktion:
Store schreibt ein TWListDialog Objekt in den Stream S.

GVMsgBox - Unit
 

GVMsgBox ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVMsgBox stellt die Funktionen der TV Unit MsgBox in GV bereit.

Neben den bekannten Routinen der TV Unit existieren in Graphics Vision noch
einige weitere MsgBox-Routinen.
Nur diese sollen hier genannt werden. Die Funktion der Standardroutinen entnehmen
Sie bitte der TV - Dokumentation.

Die Meldungsfenster orientieren sich im Aussehen stark an Microsoft Windows.
Die Bitmaps (am linken Rand eines derartigen Fensters) werden durch die
Flags mfError, mfConfirmation, mfInformation sowie mfWarning festgelegt.

Funktionen
  MessageBoxTitle
  MessageBoxTitleRect
  HistoryInputBox
  HistoryInputBoxRect

  MessageBox    
  MessageBoxRect
  InputBox      
  InputBoxRect  



                  gvision, Page # 127   Date 7-3-1996 Thursday
                                    -  128 -






Variable
  CreateInputBox
  CreateMessageBox

MessageBoxTitle - Funktion (Unit GVMsgBox)
 

 Deklaration:
   function MessageBoxTitle (Title, Msg: String; Params: Pointer;
     AOptions: Word): Word;

 Funktion:
Diese Routine erlaubt, neben den von MessageBox bekannten Optionen, die
Angabe der Fensterberschrift fr das Meldungsfenster.

 siehe auch:
   GVMsgBox
   MessageBoxTitleRect

MessageBoxTitleRect - Funktion (Unit GVMsgBox)
 

 Deklaration:
   function MessageBoxTitleRect (var R: TRect; Title, Msg: String;
     Params: Pointer; AOptions: Word): Word;

 Funktion:
Diese Routine erlaubt, neben den von MessageBoxRect bekannten Optionen, die
Angabe der Fensterberschrift fr das Meldungsfenster.

 siehe auch:
   GVMsgBox
   MessageBoxTitle

HistoryInputBox - Funktion (Unit GVMsgBox)
 
 
 function HistoryInputBox(Title: String; ALabel: String; var S: String;
   Limit: Byte; AHistoryID: Word): Word;
 
Funktion
Diese Routine arbeitet wie InputBox, versieht aber die Eingabezeile
mit einem THistory-Objekt, dem es die ID AHistoryID zuweist.
siehe auch
   GvMsgBox
   HistoryInputBoxRect

HistoryInputBoxRect - Funktion (Unit GVMsgBox)
 
 
 function HistoryInputBoxRect(var Bounds: TRect; Title: String;
   ALabel: String; var S: String; Limit: Byte; AHistoryID: Word): Word;
 



                  gvision, Page # 128   Date 7-3-1996 Thursday
                                    -  129 -





Funktion
Diese Routine arbeitet wie InputBoxRect, versieht aber die Eingabezeile
mit einem THistory-Objekt, dem es die ID AHistoryID zuweist.
siehe auch
   GvMsgBox
   HistoryInputBox

CreateMessageBox-Variable  (Unit GVMsgBox)
 
 
const
  CreateMessageBox: function(var Bounds: TRect;
    ATitle, AText: string; AOptions: Word): PDialog = StdCreateMessageBox;
 
Die in dieser Prozedurvariable gespeicherte Prozedur wird aufgerufen,
um eine Messagebox zu erstellen. Sie knnen hier eine eigene Prozedur
eintragen, um alle Messageboxen in einem anderen Design ausgeben
zu lassen.

CreateInputBox-Variable  (Unit GVMsgBox)
 
 
const
  CreateInputBox: function(var Bounds: TRect;
    ATitle, ALabel: string; ALimit: Byte): PDialog = StdCreateInputBox;
 
Die in dieser Prozedurvariable gespeicherte Prozedur wird aufgerufen,
um eine Inputbox zu erstellen. Sie knnen hier eine eigene Prozedur
eintragen, um alle Inputboxen in einem anderen Design ausgeben
zu lassen.

GVGadget - Unit
 

GVGadget ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVGadget stellt die in der TV Unit Gadgets implementierten Hilfsmittel auch
fr GV bereit.

Die hier definierten Objekte sind vollstndig zu Turbo Vision kompatibel.
Informationen zu den einzelnen Objekten (Methode, Felder, Benutzung ....)
entnehmen Sie deshalb der Turbo Vision Dokumentation

Hinweis: Bitte beachten Sie, da die beiden Objekte bei der Darstellung
einen schwarzen Rahmen um sich ziehen. Es kann also durchaus mglich sein,
da Sie eines oder beide der Objekte mit negativen Koordinaten initialisieren
mssen, damit sie im Aussehen mit der Men- bzw. Statuszeile harmonieren.

Objekte
   THeapView
   TClockView

THeapView - Objekt (Unit GVGadget)
 



                  gvision, Page # 129   Date 7-3-1996 Thursday
                                    -  130 -






Dieses Objekt stellt eine Anzeige fr den momentan freien Heap-Speicher
zur Verfgung.
Um es zu nutzen, mssen Sie lediglich ein solches Objekt instantiieren und
dafr sorgen, da dessen UpDate-Routine reglmig aufgerufen wird (z.B.
durch Aufruf dieser Methode in TApplication.Idle).

 siehe auch:
   Idle,TApplication

TClockView - Objekt (Unit GVGadget)
 

Dieses Objekt stellt eine Digitaluhr bereit. Um sie zu nutzen, mssen Sie
lediglich ein solches Objekt instantiieren und dafr sorgen, da dessen
UpDate-Routine reglmig aufgerufen wird (z.B. durch Aufruf dieser Methode
in TApplication.Idle).
In GV gibt es auer diesem Objekt noch eine kofortablere und
leistungsfhigere Uhr (siehe GVClock).

 siehe auch:
   Idle,TApplication

GVEdit - Unit
 

GVEdit ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVEdit stellt den in der TV Unit Editors implementierten 64K Editor fr GV
bereit.

Die definierten Objekte sind kompatibel zu den Turbo Vision Objekten.

Konstanten und Variablen
   edXXXX       
   efXXXX       
   MaxLineLength

   WordChars    
   EditorDialog 
   EditorFlags  
   FindStr      
   ReplaceStr   
   Clipboard    

Funktionen
   DefEditorDialog    
   CreateFindDialog   
   CreateReplaceDialog
   StdEditorDialog    

Records und andere Typen
   TEditorDialog    
   TMemoData        



                  gvision, Page # 130   Date 7-3-1996 Thursday
                                    -  131 -





   TFindDialogRec   
   TReplaceDialogRec

Objekte
   TIndicator 
   TEditor    
   TFileEditor
   TMemo      
   TEditWindow

GVHelp - Unit
 

GVHelp ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVHelp stellt die Objekte der TV Unit HelpFile fr GV bereit.

Die definierten Objekte sind kompatibel zu den Turbo Vision Objekten.

Verweis:
  CHelpColor       (bitte unbedingt nachlesen)

CHelpColor - Palette (Unit GVHelp)
 

Diese Palette wird nicht von einer Getpalette - Methode direkt verwendet.
Vielmehr mssen Sie als Nutzer von GVHelp darauf achten, da CHelpColor
an der Position 160 an CColor (die Palette der Applikation) angehngt
wird.

GVColor - Unit
 

GVColor ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVColor stellt die Funktionen der TV Unit ColorSel in GV bereit.

GVColor ist vollstndig zur entsprechenden TV - Unit kompatibel.

Hinweis: Da es im Grafikmodus nicht ntig ist zwischen Vorder- und
Hintergrundfarben zu unterscheiden (es existieren keine Farbattribute wie im
Textmodus, sondern nur Einzelfarben), existiert folglich auch nur ein Typus
des Selectors. Fr den Nutzer eines Color-Dialoges ergeben sich jedoch keine
nderungen.

Records und Objekte
   TColorItem     
   TColorGroup    

   TSelector
   TColorGroupList
   TColorItemList 
   ColorItem      
   ColorGroup     



                  gvision, Page # 131   Date 7-3-1996 Thursday
                                    -  132 -






TSelector - Objekt
 

Diese Objekt stellt ein Farbselektionsobjekt fr GV bereit. Es wird von
TColorDialog benutzt. Es ist vergleichbar mit dem TColorSelector von
Turbo Vision.

 siehe auch:
   TColorDialog  
   TColorSelector

GVGauges - Unit
 

GVGauges ist eine Turbo-Pascal Unit und ist Teil des Graphics Vision
Paketes.
GVGauges stellt die beiden Objekte der TV Unit Gauges fr GV zur Verfgung.
Die Objekte sind nahezu kompatibel wurden jedoch in GV etwas verbessert.
Nur die zustzlichen Konstanten und Methoden sollen hier erwhnt werden.

Konstanten
  CGauge

zustz. Methoden
  TPercentGauge.Load
  TPercentGauge.Store
  TPercentGauge.GetPalette
  TBarGauge.Load
  TBarGauge.Store

CGauge - Palette (Unit GVGauges)
 

 Deklaration:
   CGauge = #129#126#127#130;

 Funktion:
Im Gegensatz zu den TV Gauges besitzen diese Objekte in Graphics Vision eine
eigene Palette. CGauge verweist direkt auf die Palette der Applikation.

 siehe auch:
   GetPalette
   CColor

TPercentGauge.Load - Konstruktor
 

 Deklaration:
   constructor Load(var S: TStream);

 Funktion:
Die Gauges in Graphics Vision knnen im Gegensatz zu TV auch aus Streams
geladen werden.



                  gvision, Page # 132   Date 7-3-1996 Thursday
                                    -  133 -





Load liest ein TPercentGauge - Objekt aus dem Stream S.
Fr TBarGauge gilt dies entsprechend.

 siehe auch:
   GVGauges
   Store

TPercentGauge.Store - Methode
 

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

 Funktion:
Die Gauges in Graphics Vision knnen im Gegensatz zu TV auch in Streams
geschrieben werden.
Store schreibt ein TPercentGauge - Objekt in den Stream S.
Entsprechendes gilt fr TBarGauge.

 siehe auch:
   Load
   GVGauges

TPercentGauge.GetPalette - Methode
 

 Deklaration:
   function GetPalette: PPalette; virtual;

 Funktion:
Gibt einen Zeiger auf die Palette CGauge zurck. Die Gauges in GV besitzen
im Gegensatz zu Turbo Vision eine eigene Palette.

 siehe auch:
   GVGauges

GVisible-Unit
 
Graphics Vision verfgt ber uerst effiziente
Zeichenmechanismen. Mit ihnen knnen Sie in beliebige Views
zeichnen, ohne da Sie sich um die Sichtbarkeitsverhltnisse zu
kmmern brauchen. Die Fhigkeit, "in den Hintergrund" zu zeichnen, ist
ein wesentliches Leistungsmerkmal von Graphics Vision.

Graphics Vision wendet verschiedene Verfahren an, um die
rasche Bildschirmdarstellung zu gewhrleisten.

Die Unit GVisible stellt die Sichtbarkeits- und Darstellungs- Mechanismen
fr Graphics Vision bereit. Die meisten der hier bereitgestellten Funktionen
werden Sie nicht direkt in Ihren Programmen bentigen. Das erledigt die
Unit GvViews fr sie.

Datenstrukturen
 PVis



                  gvision, Page # 133   Date 7-3-1996 Thursday
                                    -  134 -





 PRect

Prozeduren und Funktionen
 BeginDraw
 ClipVis
 CopyVis
 CritUnionDelta
 DrawFirstPass
 DrawVis
 DrawVisLocal
 EndDraw
 FreeVis
 IndirectRegion
 IntersectVis
 IntersectDelta
 MoveVis
 NewVis
 ScrollView
 SortVis
 SubtractRegion
 SubtractVis
 Unindirect

Variablen
 GlobalOptions

Makros
 CurBP
 PrevBP

Verfahren der Bildschirmdarstellung
 
Das effizienteste Verfahren zum Zeichnen von nicht-einfachen Regionen
ist die Restspeicherpufferung. Dabei werden Zeichenoperationen
mithilfe der VgaMem-Unit in unbenutzten Graphikspeicher umgeleitet und
einzelne Teile dieses Abbildes auf den Bildschirm kopiert. Dieses Verfahren
ist nur fr die mitgelieferten Graphikpakete anwendbar. In Objekten, die
andere Graphikpakete verwenden, mu das Flag ofBuffer gelscht
werden.

Wenn Restspeicherpufferung nicht angewandt werden kann, steht Metafiling
zur Verfgung. Dabei werden Zeichenoperationen mithilfe der MetaGr-Unit
aufgezeichnet und fr die einzelnen Teile der zu zeichnenden Region
abgespielt. Dieses Verfahren ist entscheidend schneller als wiederholtes
Ausfhren der Draw-Methode. Es ist nur fr die mitgelieferten Graphikpakete
sowie fr die Unit BGI anwendbar. In Objekten, die andere
Graphikpakete verwenden, mu das Flag ofMetafile gelscht werden.

Wenn keines dieser Verfahren angewandt werden kann, wird die Zeichenoperation
fr die einzelnen Teile der zu zeichnenden Region aufgerufen.

Siehe auch
 GVisible-Unit




                  gvision, Page # 134   Date 7-3-1996 Thursday
                                    -  135 -





pufferbar (Zeichenoperation)
 
Eine Zeichenoperation ist pufferbar, wenn in der
zugehrigen View die Option-Flags
ofBuffer oder ofMetafile gesetzt sind.

Standardmig sind alle Objekte mit diesen Flags versehen. Wenn Sie in
einem Objekt Zeichenroutinen aus der Unit BGI verwenden, mssen
Sie das Flags ofBuffer lschen. Wenn Sie fremde Graphikroutinen
verwenden, mssen Sie beide Flags lschen.

Siehe auch
 Verfahren

"am Stck" zeichnen
 
Eine Zeichenoperation kann "am Stck" ausgefhrt werden, wenn die
sichtbare Region aus maximal einem Rechteck besteht.

Das Zeichnen von nicht-pufferbaren Views in einer
BeginDraw- EndDraw- Klammerung
bzw. in einer SetViewport-
RestoreViewport- Klammerung kann nur dann
ausgefhrt werden, wenn das Objekt am "Stck" gezeichnet werden kann.

Bei nicht-pufferbaren Views sollten Sie daher diese
Klammerung vermeiden und statt dessen
DrawVisibleLocal einsetzen.

Siehe auch
 Verfahren

PVis-Datenstruktur
 
type PVis = pointer;
Hinweise
Eine Variable dieses Typs referenziert eine abstrakte Datenstruktur,
in welcher Graphics Vision eine Sichtbarkeits- Region
speichert.

Die interne Struktur kann nderungen unterliegen.

Siehe auch
 GVisible-Unit

PRect-Typ
 
type PRect = ^TRect;

Ein Zeiger auf ein Rechteck.

NewVis-Funktion (Unit GVisible)
 
function NewVis(var Bounds: TRect): PVis;



                  gvision, Page # 135   Date 7-3-1996 Thursday
                                    -  136 -





Funktion
Diese Funktion erstellt eine Sichtbarkeits- Struktur fr die
angegebenen globalen Koordinaten und markiert das gesamte Rechteck
als sichtbar.

Mittels SubtractRegion knnen Sie Teil-Rechtecke
als unsichtbar markieren lassen.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit
 FreeVis

SubtractRegion-Prozedur (Unit GVisible)
 
procedure SubtractRegion(Vis: PVis; var Bounds: TRect);
Funktion
Diese Prozedur markiert ein Teil-Rechteck der angegebenen
Region als unsichtbar.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit
 NewVis

IndirectRegion-Prozedur  (Unit GVisible)
 
procedure IndirectRegion(Vis: PVis; var Bounds: TRect; Transparent: PGView);
Funktion
Diese Prozedur markiert ein Rechteck als "indirekt" mit der transparenten
berdeckung Transparent.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit
 NewVis

Unindirect-Prozedur  (Unit GVisible)
 
procedure Unindirect(Vis: PVis; GOwner: PGView);
Funktion
Diese Prozedur entfernt alle transparenten berdeckungen
mit dem angegebenen GOwner

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit
 IndirectRegion

ClipVis-Prozedur (Unit GVisible)



                  gvision, Page # 136   Date 7-3-1996 Thursday
                                    -  137 -





 
procedure ClipVis(Vis: PVis; var Clip: TRect);
Funktion
Diese Prozedur clippt eine Region an einem Rechteck.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

SubtractVis-Prozedur (Unit GVisible)
 
procedure SubtractVis(Vis, SubVis: PVis);
Funktion
Diese Prozedur entfernt die in SubVis sichtbaren Bereiche aus
der Region Vis. Beide Regionen bleiben verfgbar.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

IntersectVis-Funktion (Unit GVisible)
 
function IntersectVis(Vis1, Vis2: PVis): PVis;
Funktion
Diese Funktion berechnet die Schnittmenge der beiden Regionen
und gibt sie als neue Region zurck. Vis1 und Vis2
bleiben erhalten.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

IntersectDelta-Funktion (Unit GVisible)
 
function IntersectDelta(Vis: PVis; Delta: TPoint): PVis;
Funktion
Diese Funktion schneidet Vis mit seinem um Delta verschobenen
Abbild und gibt das Ergebnis als neue Region zurck. Vis bleibt
erhalten.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

MoveVis-Prozedur (Unit GVisible)
 
procedure MoveVis(Vis: PVis; Delta: TPoint);
Funktion
Diese Prozedur verschiebt die Region Vis um den Vektor Delta.




                  gvision, Page # 137   Date 7-3-1996 Thursday
                                    -  138 -





Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

SortVis-Funktion (Unit GVisible)
 
function SortVis(Vis: PVis; Delta: TPoint): PVis;
Funktion
Diese Funktion richtet eine Region aus, damit eine Bildschirm- Bewegung
(mittels CopyScreen o..) um Delta durchgefhrt werden kann.
Rckgabewert ist eine neu angelegte Region. Vis bleibt erhalten.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

CopyVis-Funktion (Unit GVisible)
 
function CopyVis(Vis: PVis): PVis;
Funktion
Diese Funktion erstellt eine Kopie einer Region.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

FreeVis-Prozedur (Unit GVisible)
 
procedure FreeVis(Vis: PVis);
Funktion
Diese Prozedur entfernt eine Region aus dem Speicher.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

DrawVis-Prozedur (Unit GVisible)
 
procedure DrawVis(Vis: PVis; Origin: TPoint; Self: PGView);
Funktion
Diese Prozedur zeichnet das View-Objekt Self auf den
Bildschirm. Dazu wird ein geeignetes Verfahren gewhlt.

Parameter
 Vis: Zu zeichnende Region.
 Origin: Globale Koordinaten der linken oberen Ecke.

Hinweis
Die Prozedur darf nur auf Nicht-Gruppen angewendet werden.




                  gvision, Page # 138   Date 7-3-1996 Thursday
                                    -  139 -





Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

DrawVisLocal-Prozedur (Unit GVisible)
 
 
 procedure DrawVisLocal(Vis: PVis; Origin: TPoint;
   Self: PGView; Local: pointer; Frame: Word);
 

Funktion
Diese Prozedur zeichnet das View-Objekt Self auf den
Bildschirm. Dazu wird ein geeignetes Verfahren gewhlt.

Im Gegensatz zu DrawVis ruft diese Prozedur nicht die
Draw-Methode auf, sondern eine lokale, far deklarierte
Funktion auf, deren Adresse durch Local gegeben ist.

Der Parameter Frame ist ein Small-Zeiger auf den Stackrahmen der
Local direkt bergeordneten Prozedur.
Verwenden Sie die Makros CurBP oder PrevBP fr diesen
formalen Parameter.

Beispiel
 
procedure ScrollView(Self: PGView; Delta: TPoint; SubRect: PRect);
var
  ...

 procedure DoCopy; far;
 Begin
   CritUnionDelta(Delta);
   CopyScreen(DrawOrigin.X, DrawOrigin.Y,
	      Self^.Size.X + DrawOrigin.X, Self^.Size.Y + DrawOrigin.Y,
	      Delta.X + DrawOrigin.X, Delta.Y + DrawOrigin.Y)
 End;

Begin
  { ... }
  DrawVisLocal(ivis, P, Self, @DoCopy, CurBP);	{ copy region }
  { ... }
End;
 

Hinweis
Die Prozedur darf nur auf Nicht-Gruppen angewendet werden.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit




                  gvision, Page # 139   Date 7-3-1996 Thursday
                                    -  140 -





DrawFirstPass-Prozedur (Unit GVisible)
 
procedure DrawFirstPass(P: PGView; Self: PGView);
Diese Prozedur setzt voraus, da eine Zeichenoperation der View
Self im Verlauf ist. Sie zeichnet die sichtbaren Teile der View P
in die gleiche Region.

Hinweis
Die Prozedur darf nur auf Nicht-Gruppen angewendet werden.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

BeginDraw-Funktion (Unit GVisible)
 
 
 function BeginDraw(Vis: PVis; Origin: TPoint;
   Self: PGView; Modifying: Boolean): Boolean;
 

Funktion
Blcke von Zeichenoperationen, die nicht von BeginDraw und
EndDraw geklammert sind, sind ungltig, da der Zeichenkontext
nicht definiert ist.

BeginDraw ist nur erfolgreich, wenn die zu zeichnende View
Self pufferbar ist oder am Stck
gezeichnet werden kann.

Routinen wie DrawVis und DrawVisLocal
bernehmen diese Klammerung. Sie knnen zudem jede Zeichenoperation ausfhren.

Parameter
 Vis: Zu zeichnende Region.
 Origin: Globale Koordinaten der oberen linken Ecke.
 Self: Die zu zeichnende View.
 Modifying: FALSE Neuzeichnen. TRUE vernderndes Zeichnen.

Rckgabewert
TRUE, falls erfolgreich.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

EndDraw-Funktion (Unit GVisible)
 
function EndDraw(Vis: PVis; Self: PGView): Boolean;
Funktion
Diese Funktion bildet zusammen mit BeginDraw die Klammerung
fr Zeichenoperationen. Je nach Verfahren werden



                  gvision, Page # 140   Date 7-3-1996 Thursday
                                    -  141 -





ausgefhrte Operationen jetzt erst sichtbar gemacht.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

CritUnionDelta-Prozedur (Unit GVisible)
 
procedure CritUnionDelta(Delta: TPoint);
Funktion
Diese Prozedur erweitert die CriticalArea des Maustreibers fr
eine Bewegung um Delta.

Sie werden diese Funktion nicht direkt bentigen.

Siehe auch
 GVisible-Unit

ScrollView-Prozedur (Unit GVisible)
 
procedure ScrollView(Self: PGView; Delta: TPoint; SubRect: PRect);
Funktion
Diese Prozedur scrollt die View Self um den Vektor Delta.
Es werden Bildschirm- Kopieraktionen eingesetzt, um wiederverwendbare
Bildteile zu verschieben. Andere Bildteile werden durch Draw-Aufrufe
neu gezeichnet.

Setzen Sie SubRect auf NIL, um die gesamte View scrollen zu lassen.
Ansonsten knnen Sie hier ein lokales Unter- Rechteck angeben.

Hinweis
Dies ist die einzige anwendungsnahe Prozedur der Unit GVisible.
Viele Basis-Views wie TInputLine, TListViewer,
TScroller und TEditor nutzen sie bereits, um
ein effizientes Scrolling zu erzielen.

Siehe auch
 GVisible-Unit

PrevBP-Makro (Unit GVisible)
 
 
 function PrevBP: Word;
 inline(
   $8B/ $46/ $00 { mov ax, [bp] }
 );
 

Setzen Sie dieses Makro fr den Frame-Parameter von
DrawVisLocal ein, wenn folgendes Aufrufschema vorliegt:

 
procedure call_DrawVisLocal(local: pointer);



                  gvision, Page # 141   Date 7-3-1996 Thursday
                                    -  142 -





begin
  { ... }
  DrawVisLocal({...}, local, PrevBP)
  { ... }
end;

procedure caller;

  procedure local; far;
  begin
    { ... }
  end;

begin
  call_DrawVisLocal(local)
end;
 

Siehe auch
 GVisible-Unit
 CurBP

CurBP-Makro (Unit GVisible)
 
 
 function CurBP: Word;
 inline(
   $8B/ $C5 { mov ax, bp }
 );
 

Setzen Sie dieses Makro fr den Frame-Parameter von
DrawVisLocal ein, wenn folgendes Aufrufschema vorliegt:

 
procedure caller;

  procedure local; far;
  begin
    { ... }
  end;

begin
  DrawVisLocal({ ... }local, CurBP)
end;
 

Siehe auch
 GVisible-Unit
 PrevBP

GlobalOptions-Variable (Unit GVisible)
 
const GlobalOptions: Word = $FFFF;



                  gvision, Page # 142   Date 7-3-1996 Thursday
                                    -  143 -





Beschreibung
Entfernen Sie aus dieser Maske die Bits ofBuffer,
ofMetafile oder ofBufferOne, wenn Sie
bestimmte Pufferungs-Verfahren von Zeichenoperationen
fr Debugging-Zwecke global ausschalten wollen.

Siehe auch
 GVisible-Unit

Unit GvBitmap
 
Diese Graphics-Vision-Unit stellt Ihnen hochentwickelte
Bitmap-orientierte View-Objekte bereit.

Views
 TImageScroller
 TBmpScroller
 TBmpView
 TIconLabel
 TImageButton
 TNewDesktop

Konstanten
 bmfXXXXXXX  TBmpView-Flags

TImageScroller-Objekt  (Unit GvBitmap)
 
Dieser TScroller-Nachkomme ist auf die Darstellung eines
gertekompatiblen Image spezialisiert.

Felder
 Image

Methoden
 Init
 Done
 Draw

TImageScroller.Image-Feld
 
Image: pointer;
Dieses Feld speichert einen Zeiger auf das darzustellende Image.

TImageScroller.Init-Konstruktor
 
 
  constructor Init(var Bounds: TRect; AHScrollBar, AVScrollBar: PScrollBar;
    AnImage: pointer);
 
Dieser Konstruktor ruft zunchst TScroller.Init auf.
Dann weist es dem Feld Image den Wert AnImage zu.

TImageScroller.Done-Destruktor
 



                  gvision, Page # 143   Date 7-3-1996 Thursday
                                    -  144 -





destructor Done; virtual;
Dieser Destruktor nimmt zunchst mit FreeImage das Image vom Heap.
Dann ruft er die geerbte Done-Methode auf.

TBmpScroller-Objekt  (Unit GvBitmap)
 
Dieses Objekt unterscheidet sich von seinem Vorfahren
TImageScroller nur durch einen Konstruktor,
der auf den Zugriff auf BMP-Dateien zugeschnitten ist.

Methoden
 Init

TBmpScroller.Init-Konstruktor
 
 
  constructor Init(var Bounds: TRect; AHScrollBar, AVScrollBar: PScrollBar;
    Path: string);
 
Dieser Konstruktor ldt aus der BMP-Datei, dessen Name durch Path
angegeben ist, ein Bitmap, wandelt es in ein Image um und ruft
TImageScroller.Init auf.

TBmpView-Objekt  (Unit GvBitmap)
 
Dieser TBackground-Nachkomme dient der Darstellung statischer
Bitmaps. Mittels Flags lt sich festlegen, ob die Ausgabe zentriert oder
gekachelt erfolgen soll.

Felder
 Image
 Flags

Methoden
 Init
 InitByFile
 InitByImages
 Done
 Draw

TBmpView.Init-Konstruktor
 
 
    constructor Init(var Bounds: TRect; Resource: PStream;
      BitmapName: PChar; AFlags: Word);
 
Dieser Konstruktor ldt das Bitmap mit dem Namen BitmapName
aus der angegebenen Ressource.

TBmpView.InitByImages-Konstruktor
 
 
    constructor InitByImages(var Bounds: TRect;
      AnImage: PImage; AFlags: Word);



                  gvision, Page # 144   Date 7-3-1996 Thursday
                                    -  145 -





 
Dieser Konstruktor speichert den Parameter AnImage in dem
Feld Image.

TBmpView.InitByFile-Konstruktor
 
constructor InitByFile(var Bounds: TRect; Path: string; AFlags: Word);
Dieser Konstruktor ldt aus der BMP-Datei, deren Name durch
Path angegeben ist, ein Bitmap, wandelt es in ein Image um
und speichert einen Zeiger im Feld Image. Flags wird mit
AFlags belegt.

TBmpView.Done-Destruktor
 
destructor Done; virtual;
Dieser Destruktor nimmt das Image vom Heap und ruft dann den
geerbten Destruktor auf.

TIconLabel-Objekt  (Unit GvBitmap)
 
Dieser TLabel-Nachkomme stellt sich als graphisches Icon dar,
welches die Hintergrundfarbe seines GOwner durchscheinen lt.
Es lt sich direkt aus einer Windows-Icon-Ressource laden.

Felder
 XorMask
 AndMask

Methoden
 Init
 InitByImages
 Done
 Draw
 GetPalette

TIconLabel.Init-Konstruktor
 
 
  constructor Init(var Bounds: TRect;
    Resource: PStream; IconName: PChar; ALink: PGView);
 
Dieser Konstruktor ruft zunchst TLabel.Init auf.
Dann ldt er ein Icon aus einer Windows-Ressource.
Resource bezeichnet eine mit OpenResource
geffnete Ressourcendatei. IconName ist der symbolische
Bezeichner des Icons; verwenden Sie MakeIntResource,
um numerische Bezeichner umzuwandeln.

TIconLabel.InitByImages-Konstruktor
 
 
  constructor InitByImages(var Bounds: TRect;
    AXorMask, AnAndMask: PImage; ALink: PGView);
 



                  gvision, Page # 145   Date 7-3-1996 Thursday
                                    -  146 -





Dieser Konstruktor ruft zunchst TLabel.Init auf.
Dann verwendet er die Images AXorMask und AnAndMask
zur Darstellung des Icons.

TIconLabel.Done-Destruktor
 
destructor Done; virtual;
Dieser Destruktor nimmt zunchst die Icon-Masken vom Heap
und ruft dann den geerbten Destruktor auf.

TImageButton-Objekt  (Unit GvBitmap)
 
Dieser TButton-Nachfolger realisiert einen vollgraphischen,
bitmaporientierten Schalter. Insbesondere untersttzt er Schalter
im BWCC-Stil.

Felder
 UpImage
 DownImage
 FocImage
 DisImage

Methoden
 InitByBWCC
 InitByImages
 Done
 DrawState

TImageButton.InitByBWCC-Konstruktor
 
 
  constructor InitByBWCC(var Bounds: TRect; ATitle: TTitleStr;
    BWCC: PStream; idCommand: Integer; ACommand: Word; AFlags: Byte);
 
Dieser Konstruktor ldt einen Schalter aus einer BWCC-kompatiblen
Windows-Ressource.

BWCC bezeichnet eine mit OpenResource
geffnete Ressourcendatei. Geben Sie hier die Variable BWCC aus
der Unit GvBWCC an, wenn Sie einen Standard-Schalter aus der
Ressource BWCC.DLL (die Sie mit InitBWCC geffnet haben)
verwenden wollen.

idCommand bezeichnet die Schalternummer in der Ressource,
ACommand hingegen das Graphics-Vision-Kommando, das ausgelst
werden soll.

Standardschalter-Nummern:
  id_Ok
  id_Cancel
  id_Abort
  id_Retry
  id_Ignore
  id_Yes



                  gvision, Page # 146   Date 7-3-1996 Thursday
                                    -  147 -





  id_No
  id_Help
  id_Generic

TImageButton.InitByImages-Konstruktor
 
 
  constructor InitByImages(var Bounds: TRect; ATitle: TTitleStr;
    AnUpImage, ADownImage, AFocImage, ADisImage: PImage;
    ACommand: Word; AFlags: Byte);
 
Dieser Konstruktor erstellt einen Schalter aus den angegebenen
Images AnUpImage, ADownImage, AFocImage und ADisImage.

TImageButton.Done-Destruktor
 
destructor Done; virtual;
Dieser Destruktor nimmt zunchst die vier Images vom Heap.
Dann ruft er die geerbte Done-Methode auf.

TNewDesktop-Objekt  (Unit GvBitmap)
 
Dieser TDesktop-Nachfolger verwendet anstelle eines
einfarbigen TBackground-Objektes ein
TBmpView-Objekt, um ein Bitmap als Hintergrundbild zu zeigen.

Methoden
 Init
 NewBitmap

TNewDesktop.Init-Konstruktor
 
constructor Init(var Bounds: TRect; Bitmap: string);
Geben Sie in Bitmap den Pfad zu der BMP-Datei an, die
geladen werden soll.

TNewDesktop.NewBitmap-Methode
 
procedure NewBitmap(Bitmap: string);
Verwenden Sie diese Methode, um ein neues Bitmap als
Hintergrundbild zu verwenden.

TBmpView-Flags
 
 
  bmfTiled      = 1;
  bmfAdjustSize = 2;
 
Verwenden Sie bmfTiled, um eine gekachelte Ausgabe zu erzielen.
Verwenden Sie bmpAdjustSize, um die Gre des TBmpView-Objekts
an die Gre der Bitmap anpassen zu lassen.

Unit GvBWCC
 



                  gvision, Page # 147   Date 7-3-1996 Thursday
                                    -  148 -





Diese Graphics-Vision-Unit ermglicht Ihnen den Zugriff auf die
Borland Windows Custom Controls (BWCC.DLL). Setzen Sie sie in
Kombination mit GvBitmap ein, um Schalter im Borland-Stil
(TImageButton-Objekte) zu verwenden.

Prozeduren
 InitBWCC
 DoneBWCC

Variablen
 BWCC
 BWCCButtonSize

Konstanten

InitBWCC-Prozedur  (Unit GvBWCC)
 
procedure InitBWCC;
Rufen Sie diese Prozedur auf, um die Datei BWCC.DLL im System zu suchen
und einen Ressourcen-Stream zu ffnen. Nach diesem Aufruf steht in
der Variablen BWCC ein Zeiger auf den Ressourcen-Stream.

DoneBWCC-Prozedur  (Unit GvBWCC)
 
procedure DoneBWCC;
Rufen Sie diese Prozedur auf, um die BWCC-Ressource zu schlieen.

BWCC-Variable  (Unit GvBWCC)
 
BWCC: PStream = nil;
Nach einem Aufruf von InitBWCC enthlt diese Variable
einen Zeiger auf den Ressourcen-Stream von BWCC.DLL.

BWCCButtonSize-Variable  (Unit GvBWCC)
 
BWCCButtonSize: TPoint = (X: 63; Y: 39);
Diese Variable enthlt die Standard-Ausdehnung eines Schalters
im Borland-Stil.

Konstanten von GvBWCC
 
 
const
  { Additional button ids. (For standard Windows ids, see WinRes unit.)
  }
  id_Help = 998;
  id_Generic = 999;

  { BWCC button state bitmaps:
    LoadBitmapImg(bwcc^, bwcc_button_XXXX + id_XXXX);
  }
  bwcc_button_normal = MakeIntResource(1000);
  bwcc_button_down = MakeIntResource(3000);
  bwcc_button_focused = MakeIntResource(5000);



                  gvision, Page # 148   Date 7-3-1996 Thursday
                                    -  149 -






  { Add-on value for small button version
  }
  bwcc_button_small = MakeIntResource(1000);

  { BWCC dialogs:
    LoadDialog(bwcc^, bwcc_dialog_XXXX);
  }
  bwcc_dialog_Ok = MakeIntResource(10);
  bwcc_dialog_OkCancel = MakeIntResource(11);
  bwcc_dialog_AbortRetryIgnore = MakeIntResource(12);
  bwcc_dialog_YesNoCancel = MakeIntResource(13);
  bwcc_dialog_YesNo = MakeIntResource(14);
  bwcc_dialog_RetryCancel = MakeIntResource(15);

  { BWCC message box bitmaps:
    LoadBitmapImg(bwcc^, bwcc_bitmap_XXXX);
  }
  bwcc_bitmap_Hand = MakeIntResource(1901);
  bwcc_bitmap_Question = MakeIntResource(1902);
  bwcc_bitmap_Exclamation = MakeIntResource(1903);
  bwcc_bitmap_Information = MakeIntResource(1904);
 

GVFiler - Unit
 


GVFONTS
 
Die Unit GvFonts erlaubt Ihnen die Verwendung von Schriftarten
in Ihren Graphics-Vision- Programmen auf einem hohen Abstraktionsniveau.

Graphics Vision durchsucht Ihr System nach verfgbaren nutzbaren
Schriftarten und verwaltet eine Datenbank dieser Schriftschnitte.
Verwendet werden BIOS-Schriftarten, skalierbare Hershey-Schriftarten
(*.CHR), Windows-Schriftarten (*.FON) und TrueType-Schriftarten (*.TTF).

Ihre Views knnen logische Schriftarten erstellen. Der in
Graphics Vision eingebaute Font-Mapper entscheidet anhand der gewnschten
Parameter (insbesondere Skalierung und Schrift-Name), welche physische
verfgbare Schriftart am besten pat, ldt diese Schriftart und
stellt Ihnen ein physisches Schrifthandle zur Verfgung, welches Sie
in Ihren Views zur Text-Ausgabe mittels der MyFonts-Unit verwenden knnen.

Ferner bietet Ihnen die Unit GvFonts einen Standard- Schriftartdialog
sowie ein Zeichentabellen-Objekt an.

Typen
 TFontDialogData
 TTTOptions

Objekte
 TFont



                  gvision, Page # 149   Date 7-3-1996 Thursday
                                    -  150 -





 TFontFace
 TFontFaceList
 TPaddedStringCollection
 TScrollValidator

Views
 TAttrCluster
 TCharList
 TCharMapWindow
 TFontDialog
 TFontFaceListBox
 TScrollInputLine

Variablen
 FontFaceList

Funktionen
 GetFontFaceList
 PixelToScaling

Konstanten
 cmXXXXXXX

TFontDialog-Objekt (Unit GVFonts)
 
TFontDialog ist ein spezialisiertes Dialogfenster, welches Ihnen
die Auswahl einer logischen Schriftart (reprsentiert durch
ein TFont-Objekt) erlaubt.

Methoden
 Init
 GetFont
 HandleEvent
 HideScales

Felder
 
 Feld           Typ                   Bedeutung
     
 FontList       PFontFaceListBox      Face-Listbox
 ScaleList      PStringLookUpListBox  Skalierungs-Listbox
 ScaleInput     PInputLine            Skalierungs-Eingabezeile
 ScaleLabel     PLabel                Skalierungs-Label
 AttrCluster    PGView                Attribut-Schaltfeld
 OptionsButton  PGView                Optionen-Schalter
 TTOptions      TTTOptions            TrueType-Optionen-Verbund
 

TFontDialog.Init (Konstruktor)
 
constructor Init(ATitle: string; LastFont: PFont);
Initialisiert ein neues TFontDialog-Objekt. Es wird der
Dialogtitel ATitle vorgegeben. Hier sollten Sie
aussagekrftige Bezeichnungen verwenden, z.B. "Schriftart



                  gvision, Page # 150   Date 7-3-1996 Thursday
                                    -  151 -





der Digitaluhr".

Mit dem Parameter LastFont knnen Sie eine
logische Schriftart vorgeben, z.B. die letzte Auswahl.
Ist dieser Parameter nil, so werden Standardeinstellungen
verwendet.

TFontDialog.GetFont (Methode)
 
function GetFont: PFont;
Diese Funktion ermittelt die vom Nutzer im Dialog
ausgewhlte logische Schriftart.

TFontDialog.HandleEvent (Methode)
 
procedure HandleEvent(var Event: TEvent); virtual;
Die HandleEvent-Methode behandelt zustzlich die internen
Kommandos cmSetScales, cmSetOptions und cmFontOptions.

Siehe auch
 cmXXXXXXX

TFontDialog.HideScales
 
procedure HideScales;
Diese Methode versteckt in einem initialisierten TFontDialog-Objekt
alle Views, die die Kontrolle der Skalierung erlaube