home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / spezial / 22 / windows / demos / stwidemo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-01-04  |  2.3 KB  |  74 lines

  1. (* ----------------------------------------------------- *)
  2. (*                     STWIDEMO.PAS                      *)
  3. (*                                                       *)
  4. (*          (c) 1991 by R.Reichert & toolbox             *)
  5. (* ----------------------------------------------------- *)
  6. PROGRAM StandardWindowDemo;
  7.  
  8. USES WinVSM, StandWin;
  9.  
  10. VAR
  11.   Win1,
  12.   Win2 : StandardWindowPtr;
  13.   VSM  : WExtVSMPtr;
  14.   i    : BYTE;
  15.   ch   : CHAR;
  16.  
  17. BEGIN
  18.                           { initialisieren der Instanzen: }
  19.   VSM := New (WExtVSMPtr,
  20.               Init (New (ScreenObjPtr, Init (0, 0))));
  21.   Win1 := New (StandardWindowPtr, Init (VSM));
  22.   Win2 := New (StandardWindowPtr, Copy (Win1^));
  23.  
  24.   VSM^.SetTextAttr (7);
  25.   VSM^.ClrScr;
  26.   FOR i := 1 TO 220 DO
  27.     VSM^.Write (' toolbox ');
  28.   VSM^.GotoXY (1,1);
  29.                                    { Window 1 bearbeiten: }
  30.   Win1^.SetShadow (Off);
  31.   Win1^.SetXY (1, 1, 80, 25);
  32.   Win1^.SetTitles (' Hello World ', ' ''bye ');
  33.   Win1^.SetColors (7, 15, 7, 0);
  34.   Win1^.SetClearWin (Off);
  35.   Win1^.Open;
  36.                                      { Window 2 bearbeiten: }
  37.   Win2^.SetXY (10, 7, 70, 20);
  38.   Win2^.SetTitles
  39.     (' Another Window - moving and zooming possible ',
  40.      ' ''night ');
  41.   Win2^.SetFrame (1);
  42.   Win2^.  SetMinMax (2, 2, 79, 24);
  43.   Win2^.SetZooming (On);
  44.   Win2^.SetMoving (On);
  45.   Win2^.Open;
  46.   VSM^.WriteStr (11,8, 15,
  47.                  ' Moving with: e/x/s/d,'+
  48.                  ' Zooming with: E/X/S/D');
  49.   { ACHTUNG: Dieser "Fensterinhalt" geht verloren,
  50.              da StandWin nicht aktiv ist, dh nicht
  51.              aufpasst, was in ihm ist ! Diese Eigenschaft
  52.              gehört erst zu ActiveStandWin.               }
  53.   REPEAT
  54.     ch := VSM^.ReadKey;
  55.     CASE ch OF
  56.       'e' : Win2^.Move (0,-1);
  57.       'x' : Win2^.Move (0,1);
  58.       's' : Win2^.Move (-1,0);
  59.       'd' : Win2^.Move (1,0);
  60.       'E' : Win2^.Zoom (0,-1);
  61.       'X' : Win2^.Zoom (0,1);
  62.       'S' : Win2^.Zoom (-1,0);
  63.       'D' : Win2^.Zoom (1,0)
  64.     END
  65.   UNTIL (ch=#27);
  66.                        { die Instanzen wieder beseitigen: }
  67.   Dispose (Win2, Done);
  68.   Dispose (Win1, Done);
  69.   Dispose (VSM, Done);
  70. END.
  71. (* ----------------------------------------------------- *)
  72. (*                  Ende von STWIDEMO.PAS                *)
  73. (* ----------------------------------------------------- *)
  74.