AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Image auf die mit der Maus angeklickten Position setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Image auf die mit der Maus angeklickten Position setzen

Ein Thema von newmusicslamer · begonnen am 4. Mär 2012 · letzter Beitrag vom 5. Mär 2012
Antwort Antwort
Seite 1 von 2  1 2      
newmusicslamer

Registriert seit: 27. Feb 2012
29 Beiträge
 
Delphi 7 Personal
 
#1

Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 18:21
Delphi-Version: 7
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!
newmusicslamer
Delphi for the win!
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#2

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 18:23
Die Mausposition könnte dir helfen!
Delphi-Quellcode:
var
  p: TPoint;
begin
  p := Mouse.CursorPos;
Dann hast du p.X und p.Y
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 18:26
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 18:42
OnClick
OnMouseUp
OnMouseDown
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 18:59
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.
Oder mit ScreenToClient umrechnen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
newmusicslamer

Registriert seit: 27. Feb 2012
29 Beiträge
 
Delphi 7 Personal
 
#6

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 19:03
Wie kann ich p (den Point) als Image Pos nehmen?
newmusicslamer
Delphi for the win!
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#7

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 19:29
Hi,

Du hast ja schon:

Zitat:
Delphi-Quellcode:
procedure TForm1.FormClick(Sender: TObject);
begin
image1.Left := MouseClick.left ;
image1.top := MouseClick.top ;
end;
Jetzt könntest du doch versuchen:

image1.Left := p.X; Bedenke dabei aber:

Zitat:
Oder mit ScreenToClient umrechnen.
ScreenToClient(p).X ...
  Mit Zitat antworten Zitat
newmusicslamer

Registriert seit: 27. Feb 2012
29 Beiträge
 
Delphi 7 Personal
 
#8

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 19:40
Jetzt habe ich es mit diesem Code versucht:
Code:
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;
aber das Bild verschwindet irgendwo im Nirgendwo. Es geht auch nicht mit image4.left := p.X und dann halt bei top das Y
newmusicslamer
Delphi for the win!
  Mit Zitat antworten Zitat
Benutzerbild von Jonas Shinaniganz
Jonas Shinaniganz

Registriert seit: 30. Aug 2011
249 Beiträge
 
Delphi XE5 Ultimate
 
#9

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 20:00
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:
image4.left := p.Y ;
sonder :

 image4.left := ScreenToClient(p).Y
  Mit Zitat antworten Zitat
newmusicslamer

Registriert seit: 27. Feb 2012
29 Beiträge
 
Delphi 7 Personal
 
#10

AW: Image auf die mit der Maus angeklickten Position setzen

  Alt 4. Mär 2012, 20:06
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;
newmusicslamer
Delphi for the win!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 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