Hallo ihr,
komme hier grad nicht weiter und brauch eure hilfe.
Zu meinem Programm: Ich möchte durch eingabe zweier Koordinaten eine Position für einen Strich festlegen, welcher nach Mouseklick auf "Zeichnen", dann bei Mouseklick auf "vergrößern" sich immer mehr vergrößert...
Bei Buttonklick "Zeichnen" soll jedesmal ein neuer strich mit einem neuen timer erstellt werden.
Mein Problem liegt in der verwendung von timern bei klassen.
wo kann der fehler liegen? Bitte helfen
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls;
type
TForm1 =
class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Image1: TImage;
btvergroessern: TButton;
procedure Button1Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
type
TWindradTimer =
class (TTimer)
public
constructor Create (AOwner:TComponent);
override;
procedure Bild(x1,y1:integer);
end;
var
Form1: TForm1;
x1,y1,x2:integer;
Timer1:TWindradTimer;
implementation
{$R *.DFM}
constructor TWindradTimer.Create (AOwner:TComponent);
begin
inherited Create (AOwner);
x2:=x2+1;
end;
procedure TWindradTimer.Bild(x1,y1:integer);
begin
with Form1.Image1.Canvas
do begin
MoveTo(x1,y1);
LineTo(x2,y1);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1:=TWindradTimer.Create(Form1);
Timer1.Bild(StrToInt(Edit1.text),StrToInt(Edit2.text));
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
x2:=1;
end;
end.