graphwin.h
上传用户:lulishicai
上传日期:2010-03-01
资源大小:13202k
文件大小:4k
源码类别:

Delphi/CppBuilder

开发平台:

C++ Builder

  1. //----------------------------------------------------------------------------
  2. //Borland C++Builder
  3. //Copyright (c) 1987, 1998-2002 Borland International Inc. All Rights Reserved.
  4. //----------------------------------------------------------------------------
  5. //---------------------------------------------------------------------------
  6. #ifndef graphwinH
  7. #define graphwinH
  8. //---------------------------------------------------------------------------
  9. #include <Forms.hpp>
  10. #include <ExtCtrls.hpp>
  11. #include <Controls.hpp>
  12. #include <Classes.hpp>
  13. #include <Menus.hpp>
  14. #include <Dialogs.hpp>
  15. #include <ComCtrls.hpp>
  16. #include <Buttons.hpp>
  17. #include <StdCtrls.hpp>
  18. //---------------------------------------------------------------------------
  19. enum TDrawingTool {dtLine, dtRectangle, dtEllipse, dtRoundRect};
  20. class TFormMain : public TForm
  21. {
  22. __published:
  23.     TPanel *Panel1;
  24.     TPanel *PenBar;
  25.     TPanel *BrushBar;
  26.     TScrollBox *ScrollBox1;
  27.     TImage *Image;
  28.     TMainMenu *MainMenu1;
  29.     TMenuItem *File1;
  30.     TMenuItem *New1;
  31.     TMenuItem *Open1;
  32.     TMenuItem *Save1;
  33.     TMenuItem *Saveas1;
  34.     TMenuItem *Print1;
  35.     TMenuItem *N1;
  36.     TMenuItem *Exit1;
  37.     TMenuItem *Edit1;
  38.     TMenuItem *Cut1;
  39.     TMenuItem *Copy1;
  40.     TMenuItem *Paste1;
  41.     TOpenDialog *OpenDialog1;
  42.     TColorDialog *ColorDialog1;
  43.     TSaveDialog *SaveDialog1;
  44.     TStatusBar *StatusBar1;
  45.     TSpeedButton *LineButton;
  46.     TSpeedButton *RectangleButton;
  47.     TSpeedButton *EllipseButton;
  48.     TSpeedButton *RoundRectButton;
  49.     TSpeedButton *PenButton;
  50.     TSpeedButton *BrushButton;
  51.     TSpeedButton *SolidPen;
  52.     TSpeedButton *DashPen;
  53.     TSpeedButton *DotPen;
  54.     TSpeedButton *DashDotPen;
  55.     TSpeedButton *DashDotDotPen;
  56.     TSpeedButton *ClearPen;
  57.     TSpeedButton *PenColor;
  58.     TEdit *PenSize;
  59.     TUpDown *PenWidth;
  60.     TSpeedButton *SolidBrush;
  61.     TSpeedButton *ClearBrush;
  62.     TSpeedButton *HorizontalBrush;
  63.     TSpeedButton *VerticalBrush;
  64.     TSpeedButton *FDiagonalBrush;
  65.     TSpeedButton *BDiagonalBrush;
  66.     TSpeedButton *CrossBrush;
  67.     TSpeedButton *DiagCrossBrush;
  68.     TSpeedButton *BrushColor;
  69.     void __fastcall RectangleButtonClick(TObject *Sender);
  70.     void __fastcall EllipseButtonClick(TObject *Sender);
  71.     void __fastcall RoundRectButtonClick(TObject *Sender);
  72.     void __fastcall PenButtonClick(TObject *Sender);
  73.     void __fastcall BrushButtonClick(TObject *Sender);
  74.     void __fastcall SetPenStyle(TObject *Sender);
  75.     void __fastcall PenColorClick(TObject *Sender);
  76.     void __fastcall PenSizeChange(TObject *Sender);
  77.     void __fastcall SetBrushStyle(TObject *Sender);
  78.     void __fastcall BrushColorClick(TObject *Sender);
  79.     void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button,
  80.       TShiftState Shift, int X, int Y);
  81.     void __fastcall FormMouseMove(TObject *Sender, TShiftState Shift,
  82.       int X, int Y);
  83.     void __fastcall FormMouseUp(TObject *Sender, TMouseButton Button,
  84.       TShiftState Shift, int X, int Y);
  85.     void __fastcall New1Click(TObject *Sender);
  86.     void __fastcall Open1Click(TObject *Sender);
  87.     void __fastcall Save1Click(TObject *Sender);
  88.     void __fastcall SaveAs1Click(TObject *Sender);
  89.     void __fastcall Exit1Click(TObject *Sender);
  90.     void __fastcall Cut1Click(TObject *Sender);
  91.     void __fastcall Copy1Click(TObject *Sender);
  92.     void __fastcall Paste1Click(TObject *Sender);
  93.     
  94.     void __fastcall LineButtonClick(TObject *Sender);
  95.     void __fastcall Print1Click(TObject *Sender);
  96. private:        // private user declarations
  97. public:         // public user declarations
  98.         bool Drawing;
  99.         TPoint Origin, MovePt;
  100.         TDrawingTool DrawingTool;
  101.         AnsiString CurrentFile;
  102.         void __fastcall DrawShape(TPoint TopLeft, TPoint BottomRight, TPenMode AMode);
  103.         virtual __fastcall TFormMain(TComponent* Owner);
  104. };
  105. //---------------------------------------------------------------------------
  106. extern TFormMain *FormMain;
  107. //---------------------------------------------------------------------------
  108. #endif