                                  - TOC-   1 -





 GVViews - Unit .......................................................      1
 sfXXXXXXX - Konstanten (Unit GVViews) ................................      1
 ofXXXXXXX - Konstanten (Unit GVViews) ................................      2
 gfXXXXXXX - Konstanten (Unit GVViews) ................................      3
 hcXXXXXXX - Konstanten (Unit GvViews) ................................      3
 lfPartialLines - Konstante (Unit GVViews) ............................      3
 mcXXXXXXX - Konstanten (Unit GVViews) ................................      4
 sbDoScrolling - Konstante (Unit GVViews) .............................      4
 wfXXXXXXX - Konstante (Unit GVViews) .................................      4
 wnJustANumber - Konstante (Unit GVViews) .............................      5
 wpXXXXXXX - Konstanten ...............................................      5
 FirstPassMaximum - Variable (Unit GVViews) ...........................      6
 GMinWinSize - Variable (Unit GVViews) ................................      6
 IconSize - Konstante (Unit GVViews) ..................................      6
 rmXXXXXXX - Konstanten (Unit GVViews) ................................      6
 GetGVViewsCursor - Prozedur (Unit GVViews) ...........................      7
 TGView - Objekt (Unit GVViews) .......................................      7
 WinDragAdd - Konstante (Unit GVViews) ................................      7
 WindowCmds - Variable (Unit GVViews) .................................      7
 TGView.GOwner - Feld .................................................      9
 Transparente Views ...................................................      9
 TGView.CursorFlag - Feld .............................................     10
 TGView.CursorLock - Feld .............................................     10
 TGView.CursorSize - Feld .............................................     10
 TGView.GNext - Feld ..................................................     10
 TGView.Init - Konstruktor ............................................     11
 TGView.Load - Konstruktor ............................................     11
 TGView.ViewLock - Feld ...............................................     11
 TGView.CalcFirstPass - Methode .......................................     12
 TGView.ChMCursor - Methode ...........................................     12
 TGView.CreateDragView - Methode ......................................     12
 TGView.DeleteRectList - Methode ......................................     12
 TGView.DragView - Methode ............................................     13
 TGView.Draw - Methode ................................................     13
 TGView.DrawCursor - Methode ..........................................     13
 TGView.DrawClipped - Methode .........................................     14
 TGView.DrawRectList - Methode ........................................     14
 TGView.DrawView - Methode ............................................     14
 TGView.DrawVisible - Methode .........................................     14
 TGView.DrawVisibleLocal - Methode ....................................     15
 TGView.FreeBack - Methode ............................................     15
 TGView.GetColor - Methode ............................................     16
 TGView.GetHelpCtx - Methode ..........................................     16
 TGView.GetInVisibleRect - Methode ....................................     16
 TGView.GetVisibleRect - Methode ......................................     16
 TGView.GetStandardFont - Methode .....................................     17
 TGView.GetVisibility - Methode .......................................     17
 TGView.HandleEvent - Methode .........................................     17
 TGView.HideCursor - Methode ..........................................     17
 TGView.HideDrawClipped - Methode .....................................     18
 TGView.Locate - Methode ..............................................     18
 TGView.MouseEvent - Methode ..........................................     18
 TGView.SetViewPort - Methode .........................................     18
 TGView.RestoreBackground - Methode ...................................     19



                                  - TOC-   1 -
                                  - TOC-   2 -





 TGView.RestoreViewPort - Methode .....................................     19
 TGView.SetState - Methode ............................................     19
 TGView.SetSubRect - Methode ..........................................     20
 TGView.ShowCursor - Methode ..........................................     21
 TGView.ShowDrawClipped - Methode .....................................     21
 TGView.Store - Methode ...............................................     21
 TGView.StoreBack - Methode ...........................................     21


















































                                  - TOC-   2 -
                                    -    1 -






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
  hcXXXXXXX
  lfPartialLines
  mcXXXXXXX
  sbXXXXXXX
  wfXXXXXXX
  wnXXXXXXX
  wpXXXXXXX
  rmXXXXXXX
  GMinWinSize
  IconSize
  FirstPassMaximum
  WinDragAdd
  WindowCmds

 Prozeduren:

  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.



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





               

siehe auch:
  sfXXXX  (siehe Pascal-Dokumentation)

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




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





siehe auch:
  ofXXXX  (siehe Pascal-Dokumentation)

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.
 gfAlign        Wenn gesetzt, werden die Zielkoordinaten bei einer
                TGView.DragView-Verschiebung so modifiziert, da die
                Kopieroperation besonders effizient abluft. Dies
                ist nur in 16-Farb-Modi wirksam und bewirkt Abweichungen
                von hchstens 4 Pixeln in der Horizontalen.
                Dieses Flag ist standardmig bei TDialog-Objekten
                gesetzt.

siehe auch:
  gfXXXX  (siehe Pascal-Dokumentation)

hcXXXXXXX - Konstanten (Unit GvViews)
 

Die folgenden Konstanten sind in Graphics Vision definiert:

 Konstante    Wert   Bedeutung
 
 hcNoContext     0   Keine eigene Hilfenummer
 hcDragging   1000   Position des Objekt wird verndert
 hc           1000   Wird zu cmXXXXXXX-Konstanten
                     addiert, um den zugehrigen
                     Hilfekontext zu erhalten

 Funktion:
Der voreingestellte Wert des Feldes TGView.HelpCtx ist hcNoContextem,
was bedeutet, da dieses Objekt keine eigene Hilfenummer definiert hat.
TGView.GetHelpCtx gibt immer dann hcDragging zurck, wenn das
Objekt ber den Bildschirm bewegt wird, was daran erkennbar ist, da das
Bit sfDragging im Feld State gesetzt ist.

In Turbo Vision ist hcDragging als 1 definiert. Graphics Vision legt
aber die Hint-Texte unter der jeweiligen hcXXXXXXX-Nummer in der
Sprachressource ab. Dort jedoch sind die Nummern 0 bis 499 fr das System
reserviert.

lfPartialLines - Konstante (Unit GVViews)
 

 Deklaration:
   lfPartialLines   = $00001;



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






 Funktion:
Das Flag lfPartialLines wird in TListViewer-Objekten genutzt.
Ist es gesetzt, wird ein nur teilweise sichtbarer Eintrag noch dargestellt,
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  (siehe Pascal-Dokumentation)

wfXXXXXXX - Konstante (Unit GVViews)
 




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





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

 Konstante      Bedeutung
 
  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.
               
  wfHideClose   wird gesetzt, wenn Close nur Hide aufrufen soll.
               
siehe auch:
  wfXXXX  (siehe Pascal-Dokumentation)

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  (siehe Pascal-Dokumentation)
   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



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






 Siehe auch:
   TWindow.Palette
   TWindow.GetPalette

rmXXXXXXX - Konstanten (Unit GVViews)
 

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)
 
 Deklaration:
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  (siehe Pascal-Dokumentation)
  SizeLimits  (siehe Pascal-Dokumentation)

IconSize - Konstante (Unit GVViews)



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





 

 Deklaration:
   IconSize = 20;

 Funktion:
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)



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





 

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.

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              (siehe Pascal-Dokumentation)
    CalcBounds        (siehe Pascal-Dokumentation)
    CalcFirstPass
    ChangeBounds      (siehe Pascal-Dokumentation)
    ChMCursor
    CreateDragView
    DeleteRectList
    DragView
    Draw
    DrawCursor
    DrawRectList
    DrawView
    DrawClipped
    DrawVisible
    DrawVisibleLocal
    EndModal          (siehe Pascal-Dokumentation)
    Exposed           (siehe Pascal-Dokumentation)
    Focus             (siehe Pascal-Dokumentation)
    FreeBack
    GetColor
    GetHelpCtx
    GetPeerViewPtr    (siehe Pascal-Dokumentation)
    GetVisibleRect
    GetInVisibleRect
    GetVisibility
    GetStandardFont
    GrowTo            (siehe Pascal-Dokumentation)
    HandleEvent
    HideCursor
    HideDrawClipped
    Locate
    MakeFirst          (siehe Pascal-Dokumentation)
    MouseEvent



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





    MoveTo             (siehe Pascal-Dokumentation)
    NextView           (siehe Pascal-Dokumentation)
    Prev               (siehe Pascal-Dokumentation)
    PrevView           (siehe Pascal-Dokumentation)
    PutInFrontOf       (siehe Pascal-Dokumentation)
    PutPeerViewPtr     (siehe Pascal-Dokumentation)
    RestoreBackground
    RestoreViewPort
    Select             (siehe Pascal-Dokumentation)
    SetCursor          (siehe Pascal-Dokumentation)
    SetState
    SetSubRect
    SetViewPort
    ShowCursor
    ShowDrawClipped
    Store
    StoreBack
    TopView             (siehe Pascal-Dokumentation)

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  (siehe Pascal-Dokumentation)
   Owner  (siehe Pascal-Dokumentation)

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



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





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
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  (siehe Pascal-Dokumentation)
   Next   (siehe Pascal-Dokumentation)

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




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





TGView.CursorLock - Feld
 

 Deklaration:
   CursorLock: ShortInt;

 Funktion:
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  (siehe Pascal-Dokumentation)

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  (siehe Pascal-Dokumentation)



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





   Store

TGView.CalcFirstPass - Methode
 
 Deklaration:
procedure CalcFirstPass; virtual;

 Funktion:

Diese Methode wird von ChangeBounds aufgerufen. Sie hat die Aufgabe,
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
 
 Deklaration:
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



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





Sie sollten sie in dieser Version von GV nicht mehr benutzen.

  siehe auch:
    DrawRectList
    GetVisibleRect
    GetInvisibleRect

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  (siehe Pascal-Dokumentation)

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  (siehe Pascal-Dokumentation)

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.




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





 siehe auch:
   Cursor,TView  (siehe Pascal-Dokumentation)

TGView.DrawRectList - Methode
 

 Deklaration:
   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  (siehe Pascal-Dokumentation)

TGView.DrawClipped - Methode
 
 Deklaration:
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:



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





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

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



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





Ferner ruft RestoreBackground diese Methode auf.

TGView.GetColor - Methode
 

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

 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.GetHelpCtx - Methode
 
 Deklaration:
  function GetHelpCtx: Word; virtual;

 Funktion:
Gibt den in dem Feld HelpCtx gespeicherten Wert zurck oder hcDragging, wenn
das Objekt ber den Bildschirm bewegt wird (siehe sfDragging).

Beachten Sie, da hcDragging in Graphics Vision anders als in Turbo Vision
definiert ist.

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




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





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

  siehe auch:
   DrawRectList
   DeleteRectList
   GetVisibleRect

TGView.GetVisibility - Methode
 
 Deklaration:
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.

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  (siehe Pascal-Dokumentation)

TGView.HideCursor - Methode
 

 Deklaration:
   procedure HideCursor;



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






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

 siehe auch:
   ShowCursor

TGView.HideDrawClipped - Methode
 
 Deklaration:
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.

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  (siehe Pascal-Dokumentation)
   GrowTo,TView        (siehe Pascal-Dokumentation)
   MoveTo,TView        (siehe Pascal-Dokumentation)

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  (siehe Pascal-Dokumentation)

TGView.SetViewPort - Methode
 

 Deklaration:



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





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



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






 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  (siehe Pascal-Dokumentation)

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;



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





 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
 
 Deklaration:
procedure ShowDrawClipped(Clip: PVRect; VisOwner: PGView); virtual;

 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  (siehe Pascal-Dokumentation)
   Load

TGView.StoreBack - Methode
 
 Deklaration:
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.








                  gvviews, Page #  21   Date 22-7-1996 Monday
