Einzelnen Beitrag anzeigen

mare_crisium

Registriert seit: 6. Nov 2005
17 Beiträge
 
Delphi 5 Standard
 
#3

Re: TGraphicControl

  Alt 4. Dez 2005, 23:28
simonko,

ich brauche so ein Control regelmässig. Der Delphi-Code unten zeigt, wie man den "canvas" öffentlich zugänglich machen kann:

Delphi-Quellcode:
type
 (* --- *)
  TeditableControl = class(TcustomControl)
  private { private declarations }
    FbackGround : Tbitmap;
    FOnPaint : TnotifyEvent;
  published
    property canvas;
    property color;
  public { public declarations }
    constructor create( owner : Tcomponent ); override;
    destructor destroy; override;
    procedure paint; override;
  (* properties *)
    property backGround : TbitMap
      read FbackGround write FbackGround;
    property OnPaint : TnotifyEvent
      read FOnPaint write FOnPaint;
  end;
(* --- *)
Tcontrol ist dann unvermeidlich, wenn man z.B. auf dem canvas Polygone zeichnen und editieren will. Eine übliche Technik besteht darin, die Knickpunkte des Polygons mit Markierungen (z.B. kleinen Quadraten vom Typ Tcontrol) darzustellen. Diese Markierungen kann man dann mit der Maus verschieben und so die Gestalt des Polygons verändern. Objekte vom Typ Tcontrol brauchen als "parent" ein Objekt vom Typ "TwinControl". Genau dafür benutze ich das TeditableControl.

Zum einfachen Zeichnen oder zum Anzeigen von Bitmaps ist TpaintBox viel einfacher zu handhaben.

mare_crisium
  Mit Zitat antworten Zitat