请问一个问题,TCanvac构件在哪里啊?

解决方案 »

  1.   

    没有这个控件,它是一些控件的属性,如form
      

  2.   

    呵呵,这是一个类Win32使用GDI在计算机屏幕上画图。传统的Windows编程直接使用GDI函数和工具。
    现在TCanvas封装并简化了这些工具和技术的使用。
    诸如TForm和TGraphic等高级类都有Canvas属性。
      

  3.   

    TCanvas用于绘画的工具有画笔、刷子和字体。看看它的声明,基本上就知道怎么用了,呵呵TCanvas = class(TPersistent)
      private
        FHandle: HDC;
        State: TCanvasState;
        FFont: TFont;
        FPen: TPen;
        FBrush: TBrush;
        FPenPos: TPoint;
        FCopyMode: TCopyMode;
        FOnChange: TNotifyEvent;
        FOnChanging: TNotifyEvent;
        FLock: TRTLCriticalSection;
        FLockCount: Integer;
        FTextFlags: Longint;
        procedure CreateBrush;
        procedure CreateFont;
        procedure CreatePen;
        procedure BrushChanged(ABrush: TObject);
        procedure DeselectHandles;
        function GetCanvasOrientation: TCanvasOrientation;
        function GetClipRect: TRect;
        function GetHandle: HDC;
        function GetPenPos: TPoint;
        function GetPixel(X, Y: Integer): TColor;
        procedure FontChanged(AFont: TObject);
        procedure PenChanged(APen: TObject);
        procedure SetBrush(Value: TBrush);
        procedure SetFont(Value: TFont);
        procedure SetHandle(Value: HDC);
        procedure SetPen(Value: TPen);
        procedure SetPenPos(Value: TPoint);
        procedure SetPixel(X, Y: Integer; Value: TColor);
      protected
        procedure Changed; virtual;
        procedure Changing; virtual;
        procedure CreateHandle; virtual;
        procedure RequiredState(ReqState: TCanvasState);
      public
        constructor Create;
        destructor Destroy; override;
        procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
        procedure BrushCopy(const Dest: TRect; Bitmap: TBitmap;
          const Source: TRect; Color: TColor);
        procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
        procedure CopyRect(const Dest: TRect; Canvas: TCanvas;
          const Source: TRect);
        procedure Draw(X, Y: Integer; Graphic: TGraphic);
        procedure DrawFocusRect(const Rect: TRect);
        procedure Ellipse(X1, Y1, X2, Y2: Integer); overload;
        procedure Ellipse(const Rect: TRect); overload;
        procedure FillRect(const Rect: TRect);
        procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);
        procedure FrameRect(const Rect: TRect);
        function HandleAllocated: Boolean;
        procedure LineTo(X, Y: Integer);
        procedure Lock;
        procedure MoveTo(X, Y: Integer);
        procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
        procedure Polygon(const Points: array of TPoint);
        procedure Polyline(const Points: array of TPoint);
        procedure PolyBezier(const Points: array of TPoint);
        procedure PolyBezierTo(const Points: array of TPoint);
        procedure Rectangle(X1, Y1, X2, Y2: Integer); overload;
        procedure Rectangle(const Rect: TRect); overload;
        procedure Refresh;
        procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);
        procedure StretchDraw(const Rect: TRect; Graphic: TGraphic);
        function TextExtent(const Text: string): TSize;
        function TextHeight(const Text: string): Integer;
        procedure TextOut(X, Y: Integer; const Text: string);
        procedure TextRect(Rect: TRect; X, Y: Integer; const Text: string);
        function TextWidth(const Text: string): Integer;
        function TryLock: Boolean;
        procedure Unlock;
        property ClipRect: TRect read GetClipRect;
        property Handle: HDC read GetHandle write SetHandle;
        property LockCount: Integer read FLockCount;
        property CanvasOrientation: TCanvasOrientation read GetCanvasOrientation;
        property PenPos: TPoint read GetPenPos write SetPenPos;
        property Pixels[X, Y: Integer]: TColor read GetPixel write SetPixel;
        property TextFlags: Longint read FTextFlags write FTextFlags;
        property OnChange: TNotifyEvent read FOnChange write FOnChange;
        property OnChanging: TNotifyEvent read FOnChanging write FOnChanging;
      published
        property Brush: TBrush read FBrush write SetBrush;
        property CopyMode: TCopyMode read FCopyMode write FCopyMode default cmSrcCopy;
        property Font: TFont read FFont write SetFont;
        property Pen: TPen read FPen write SetPen;
      end;
      

  4.   

    继承关系:
    TObject
      |
    TPersistent
      |
    TCanvas