![]() |
Delphi-Version: 7
Image auf die mit der Maus angeklickten Position setzen
Hallo!
Ich habe ein Problem ich will dass ein Image dorthin wandert, wohin man vorher mit der Maus einmal geklickt hat. Ich stelle mir das ungefähr so vor:
Code:
:?:
procedure TForm1.FormClick(Sender: TObject);
begin image1.Left := MouseClick.left ; image1.top := MouseClick.top ; end; Ich hoffe ihr könnt mir helfen! |
AW: Image auf die mit der Maus angeklickten Position setzen
Die Mausposition könnte dir helfen!
Delphi-Quellcode:
Dann hast du p.X und p.Y
var
p: TPoint; begin p := Mouse.CursorPos; |
AW: Image auf die mit der Maus angeklickten Position setzen
Bitte beachten, dass Mouse.CursorPos die globalen Werte liefert. Wenn man also nur auf dem eigenen Formular arbeitet, oder Komponente, dann OnMouseDown nutzen oder Werte anpassen.
|
AW: Image auf die mit der Maus angeklickten Position setzen
OnClick
OnMouseUp OnMouseDown |
AW: Image auf die mit der Maus angeklickten Position setzen
Zitat:
|
AW: Image auf die mit der Maus angeklickten Position setzen
Wie kann ich p (den Point) als Image Pos nehmen?
|
AW: Image auf die mit der Maus angeklickten Position setzen
Hi,
Du hast ja schon: Zitat:
Delphi-Quellcode:
Bedenke dabei aber:
image1.Left := p.X;
Zitat:
|
AW: Image auf die mit der Maus angeklickten Position setzen
Jetzt habe ich es mit diesem Code versucht:
Code:
aber das Bild verschwindet irgendwo im Nirgendwo. Es geht auch nicht mit image4.left := p.X und dann halt bei top das Y
procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var p: TPoint ; begin image4.Visible := true ; image4.left := p.Y ; image4.top := p.X ; p := Mouse.CursorPos ; end; |
AW: Image auf die mit der Maus angeklickten Position setzen
Dass das Bild 'verschwindet' liegt daran, dass es auserhalb der Form liegt.
Du musst, bevor du die left/top Werte setzt noch P konvertieren. nicht : Zitat:
Delphi-Quellcode:
image4.left := ScreenToClient(p).Y
|
AW: Image auf die mit der Maus angeklickten Position setzen
geht nicht wandelt er anscheinend immer noch nicht um.
Bei mir sieht es jetzt so aus:
Code:
procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); var p: TPoint ; begin image4.Visible := true ; image4.left := ScreenToClient(p).Y ; image4.top := ScreenToClient(p).X ; p := Mouse.CursorPos ; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz