home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 23 / IOPROG_23.ISO / SOFT / DELPHIX.ZIP / Samples / Graphic / Basic / Main.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1998-10-06  |  1.8 KB  |  91 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ExtCtrls, Menus, DXClass, DXDraws, DXSounds, DXInput;
  8.  
  9. type
  10.   TMainForm = class(TDXForm)
  11.     DXDraw: TDXDraw;
  12.     DXTimer: TDXTimer;
  13.     procedure FormKeyDown(Sender: TObject; var Key: Word;
  14.       Shift: TShiftState);
  15.     procedure DXDrawFinalize(Sender: TObject);
  16.     procedure DXDrawInitialize(Sender: TObject);
  17.     procedure DXTimerTimer(Sender: TObject; LagCount: Integer);
  18.   end;
  19.  
  20. var
  21.   MainForm: TMainForm;
  22.  
  23. implementation
  24.  
  25. uses MMSystem;
  26.  
  27. {$R *.DFM}
  28.  
  29. procedure TMainForm.DXDrawInitialize(Sender: TObject);
  30. begin
  31.   DXTimer.Enabled := True;
  32. end;
  33.  
  34. procedure TMainForm.DXDrawFinalize(Sender: TObject);
  35. begin
  36.   DXTimer.Enabled := False;
  37. end;
  38.  
  39. procedure TMainForm.DXTimerTimer(Sender: TObject; LagCount: Integer);
  40. begin
  41.   if not DXDraw.CanDraw then exit;
  42.  
  43.   DXDraw.Surface.Fill(0);
  44.  
  45.   with DXDraw.Surface.Canvas do
  46.   begin
  47.     Brush.Style := bsClear;
  48.     Font.Color := clWhite;
  49.     Font.Size := 30;
  50.     Textout(30, 30, DateTimeToStr(Now));
  51.  
  52.     Release; {  Indispensability  }
  53.   end;
  54.  
  55.   DXDraw.Flip;
  56. end;
  57.  
  58. procedure TMainForm.FormKeyDown(Sender: TObject; var Key: Word;
  59.   Shift: TShiftState);
  60. begin
  61.   {  Application end  }
  62.   if Key=VK_ESCAPE then
  63.     Close;
  64.  
  65.   {  Screen mode change  }
  66.   if (ssAlt in Shift) and (Key=VK_RETURN) then
  67.   begin
  68.     DXDraw.Finalize;
  69.  
  70.     if doFullScreen in DXDraw.Options then
  71.     begin
  72.       RestoreWindow;
  73.  
  74.       DXDraw.Cursor := crDefault;
  75.       BorderStyle := bsSizeable;
  76.       DXDraw.Options := DXDraw.Options - [doFullScreen];
  77.     end else
  78.     begin
  79.       StoreWindow;
  80.  
  81.       DXDraw.Cursor := crNone;
  82.       BorderStyle := bsNone;
  83.       DXDraw.Options := DXDraw.Options + [doFullScreen];
  84.     end;
  85.  
  86.     DXDraw.Initialize;
  87.   end;
  88. end;
  89.  
  90. end.
  91.