Hallo,
ich habe ein Problem und zwar möchte ich bei einem Programm, dass in einer OnMouseDown-Prozedur sich die Koordinaten der Maus gemerkt werden.In einer 2. OnMouseUp-Prozedur soll dies wiederum geschehen. Die Vier Koordinaten sollen dann an eine OnKeyDown-Prozedur übergeben werden.Das ist mein schon geschriebener Quellcode unter dem Text(Die FormCreate-Prozedur ist nur damit ich das auch testen kann).
Könnte mir jemand sagen wo der Fehler liegt und wie ich ihn beheben kann, damit es funktioniert.
Danke schonmal im Voraus.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure Image1OnMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Image1OnMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Form1OnKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Canvas.Brush.Color:=clBlack;
Image1.Canvas.Rectangle(0,0,300,300);
end;
procedure TForm1.Image1OnMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var Mausposition:TPoint;
Oben,Links:integer;
begin
Mausposition:=ScreenToClient(Mouse.CursorPos);
x:=Mausposition.x;
y:=Mausposition.y;
Oben:=Image1.Top;
Links:=Image1.Left;
TForm1.OnKeyDown(x,y);
end;
procedure TForm1.Image1OnMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var Mausposition:TPoint;
w,z:integer;
begin
Mausposition:=ScreenToClient(Mouse.CursorPos);
w:=Mausposition.x;
z:=Mausposition.y;
TForm1.OnKeyDown(w,z);
end;
procedure TForm1.Form1OnKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState; w,x,y,z:integer);
begin
if Key = VK_DELETE{46/$2E} then
begin
Image1.Canvas.Brush.Color:=clWhite;
Image1.Canvas.Rectangle(x-Oben,y-Links,w-Oben,z-Links);
end;
end;
end.