home *** CD-ROM | disk | FTP | other *** search
/ Delphi 4 Bible / Delphi_4_Bible_Tom_Swan_IDG_Books_1998.iso / source / SKETCH / MAIN.PAS < prev    next >
Pascal/Delphi Source File  |  1998-04-04  |  2KB  |  83 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, SysUtils, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, Menus;
  8.  
  9. type
  10.   TMainForm = class(TForm)
  11.     MainMenu1: TMainMenu;
  12.     Demo1: TMenuItem;
  13.     Erase1: TMenuItem;
  14.     Exit1: TMenuItem;
  15.     N1: TMenuItem;
  16.     procedure FormMouseDown(Sender: TObject;
  17.       Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  18.     procedure FormMouseMove(Sender: TObject;
  19.       Shift: TShiftState; X, Y: Integer);
  20.     procedure FormMouseUp(Sender: TObject;
  21.       Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  22.     procedure FormDblClick(Sender: TObject);
  23.     procedure Erase1Click(Sender: TObject);
  24.     procedure Exit1Click(Sender: TObject);
  25.     procedure FormCreate(Sender: TObject);
  26.   private
  27.     { Private declarations }
  28.   public
  29.     { Public declarations }
  30.     Dragging: Boolean;
  31.   end;
  32.  
  33. var
  34.   MainForm: TMainForm;
  35.  
  36. implementation
  37.  
  38. {$R *.DFM}
  39.  
  40. procedure TMainForm.FormCreate(Sender: TObject);
  41. begin
  42.   Dragging := False;
  43. end;
  44.  
  45. procedure TMainForm.FormMouseDown(Sender: TObject;
  46.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  47. begin
  48.   Dragging := True;
  49.   Canvas.MoveTo(X, Y);
  50. end;
  51.  
  52. procedure TMainForm.FormMouseMove(Sender: TObject;
  53.   Shift: TShiftState; X, Y: Integer);
  54. begin
  55.   if Dragging then
  56.     Canvas.LineTo(X, Y);
  57. end;
  58.  
  59. procedure TMainForm.FormMouseUp(Sender: TObject;
  60.   Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
  61. begin
  62.   Dragging := False;
  63. end;
  64.  
  65. procedure TMainForm.FormDblClick(Sender: TObject);
  66. begin
  67.   Erase1Click(Sender);
  68. end;
  69.  
  70. procedure TMainForm.Erase1Click(Sender: TObject);
  71. begin
  72.   Canvas.Brush := Brush; { Assign form's brush to Canvas }
  73.   Canvas.FillRect(MainForm.ClientRect);  { Repaint form bkgrnd}
  74. end;
  75.  
  76. procedure TMainForm.Exit1Click(Sender: TObject);
  77. begin
  78.   Close;
  79. end;
  80.  
  81. end.
  82.  
  83.