Registriert seit: 29. Nov 2003
Ort: San Diego, CA/USA
1.446 Beiträge
Delphi 2006 Architect
|
Re: Auf Canvas bei TImage zeichnen
5. Jun 2006, 01:12
Hi,
vlt. hilft dir das als Anregung...
Delphi-Quellcode:
uses
..., ShellAPI, ...;
private
{ Private-Deklarationen }
x1, y1, x2, y2 : Integer;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Canvas.Pen.Mode := pmNotXOR;
Canvas.Pen.Style := psDot;
end;
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
If Shift = [ssLeft] Then
Begin
PatBlt(Canvas.Handle, 0, 0, ClientWidth, ClientHeight, Whiteness);
Timer1.Enabled := False;
Canvas.Brush.Style := bsClear;
x1 := X;
y1 := Y;
x2 := X;
y2 := Y;
Canvas.Rectangle(x1, y1, x2, y2);
End;
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Panel1.Caption := IntToStr(x) + ':' + IntToStr(y);
If Shift = [ssLeft] Then
Begin
Canvas.Rectangle(x1, y1, x2, y2);
x2 := X;
y2 := Y;
Canvas.Rectangle(x1, y1, x2, y2);
End;
end;
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Timer1.Enabled := True;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Canvas.Pen.Style := psSolid;
Canvas.Rectangle(x1, y1, x2, y2);
Canvas.Pen.Style := psDot;
end;
...
end.
Um etwas Neues zu schaffen muss man seine Ohren vor den Nein-sagern verschliessen um seinen Geist öffnen zu können.
(George Lukas)
|
|
Zitat
|