Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Mauskoordinaten wie in OnMouseMove() in OnClick() (https://www.delphipraxis.net/95419-mauskoordinaten-wie-onmousemove-onclick.html)

ThE_-_BliZZarD 6. Jul 2007 01:41


Mauskoordinaten wie in OnMouseMove() in OnClick()
 
Hallihallo,

ich würde gerne die TImage Komponente etwas erweitern. Ich hab mir schon den OriginalSource aus dem Delphi7 Ordner besorgt, nur wie ich jetzt dem OnClick Ereignis beibringen soll, das es künftig auch die Mauskoordianten so wie OnMouseMove übergibt, is mir nicht ganz klar.. (bzw meine Versuche waren.. nicht kompilierbar ;-))

Freue mich auf eine Antwort und einen helfenden DPler, hoffentlich is um diese Uhrzeit noch jemand da o.O

cruiser 6. Jul 2007 01:57

Re: Mauskoordinaten wie in OnMouseMove() in OnClick()
 
Nimm OnMouseDown / OnMouseUp statt dessen

MCXSC 6. Jul 2007 02:35

Re: Mauskoordinaten wie in OnMouseMove() in OnClick()
 
Delphi-Quellcode:
var
  Point: TPoint;
begin
  GetCursorPos(Point);
end;
Damit hast du in Point.x und Point.y die Koordinaten...

[OT]
Zitat:

Zitat von ThE_-_BliZZarD
Ich mag: [...] Onkelz
Ich hasse: AggroBerlin

w0rd :mrgreen:[/OT]

bitsetter 6. Jul 2007 08:14

Re: Mauskoordinaten wie in OnMouseMove() in OnClick()
 
Hi,

Delphi-Quellcode:
type
  TClickEvent = procedure (Sender: TObject; X, Y: Integer) of object;
  TMyImage = class (TImage)
  private
    FOnClickEvent: TClickEvent;
  protected
    procedure Click; override;
  published
      property OnClick: TClickEvent read FOnClickEvent write FOnClickEvent;
  end;

type
  TForm1 = class(TForm)
    procedure FormShow(Sender: TObject);
  private
     procedure NewClick(Sender: TObject; X, Y: Integer);
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TMyImage.Click;
var
  MPos: TPoint;
begin
  inherited;

  if assigned(FOnClickEvent) then
  begin
    MPos:= ScreenToClient(Mouse.CursorPos);
    FOnClickEvent(Self, MPos.X, MPos.Y);
  end;
end;

procedure TForm1.NewClick(Sender: TObject; X, Y: Integer);
begin
  Caption:= inttostr(X) + ' '+ inttostr(Y);
end;

procedure TForm1.FormShow(Sender: TObject);
var
  MyI: TMyImage;
begin
  MyI:= TMyImage.Create(self);
  MyI.Parent:= self;
  MyI.OnClick:= NewClick;
end;

ThE_-_BliZZarD 6. Jul 2007 15:29

Re: Mauskoordinaten wie in OnMouseMove() in OnClick()
 
wooo^^ vielen Dank ;-)

_______
|_skill__|\
|()-----()| \-- :-D

P.S.: Da kam bitsetter mit einem ganzen Laster voll Skill um die Ecke ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz