AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit MouseMove Ereignis

Ein Thema von Tim-94 · begonnen am 28. Jan 2009 · letzter Beitrag vom 28. Jan 2009
Antwort Antwort
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#1

Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 15:40
Hallo alle zusammen
Ich habe folgende Frage: Gibt es eine Möglichkeit, ein bestimmtes OnMouseMove Ereignis, was auf einem Panel ist,
auch auf ein Image anzuwenden? (Es soll also von dem MouseMove Ereignis des Images auf das MouseMove Ereignis vom Panel verweisen!)

Im Vorraus schonmal vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 15:44
Du kannst doch die Methode einfach im OI zuweisen. Oder hab ich das mal wieder falsch verstanden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 15:49
Ja kann man schon, nur leider ist dann ein Bild, was sich in meinem Programm
immer unter der Maus, innerhalb des Panels, bewegt, nicht mehr über dem anderen Bild, was sich
automatisch innerhalb des Panels bewegt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 15:52
Kannst Du das mal etwas näher erläutern, damit ich Opa verstehe, was Du machen willst?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 15:54
Das soll eine Art Spiel werden:

1. Ein Image(mit einem Zielscheibenbild) bewegt sich automatisch innerhalb eines Panels.
2. Unter der Maus ist dann ein zweites Image (mit einem Zielkreuzbild), was sich immer mit der Maus bewegt.
3. Und wenn das Zielkreuz über dem Image mit der Zielscheibe ist, und man dann klickt, bekommt man immer einen Punkt.

Problem: Wenn die Maus über dem Zielscheibenbild ist, bewegt sich das Zielkreuzbild nicht mehr weiter, da das MouseMove Ereignis nur auf dem Panel ist.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 15:56
Wäre es nicht einfacher und sinnvoller, das Fadenkreuz als Cursor einzubinden?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 16:01
Wenn ich das gleiche MouseMove Ereignis auch auf dem Zielscheibenbild mache, dann wird das Zielkreuz an eine falsche Position bewegt!

Code (MouseMove Ereignis auf dem Panel):

Delphi-Quellcode:
procedure TSDIAppForm.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
Image3.Left:=X-round(Image3.Width/2);
Image3.Top:=Y-round(Image3.Height/2);
Application.ProcessMessages;
end;



Code (Click Ereignis auf dem ZielscheibenImage):

Delphi-Quellcode:
procedure TSDIAppForm.Image4Click(Sender: TObject);
var Temp, Temp1:Integer;
begin
Temp:=Image4.Left+Image4.Width;
Temp1:=Image4.Top+Image4.Height;

if Start=true then begin
if (Image3.Left<=Temp) and (Image3.Left>=Image4.Left) and (Image3.Top<=Temp1) and (Image3.Top>=Image4.Top) then begin
//ShowMessage('Treffer');
Punkte:=Punkte+1;
PunktePanel.Caption:='aktuelle Punktzahl: '+InttoStr(Punkte);
end;
end;
end;


PS: Das ist immoment nur ein Testprogramm der Funktionen
  Mit Zitat antworten Zitat
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#8

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 16:04
Ja das habe ich auch schonmal versucht, hat aber bei mir nicht funktioniert.
Es wäre nett, wenn du/sie mir mal einen Beispielcode dafür geben könntest/köntten.

Ich werde erst wieder ab ca. 18:30 Uhr antworten können, da ich jetzt weg muss.


Vielen Dank Tim
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 16:05
Wie gesagt, ich würde mir einen Fadenkreuz-Cursor basteln und OnClick nachsehen, ob sich der Cursor innerhalb des Images befindet (was beim Image.OnClick ja irgendwie immer der Fall sein müsste ).

[edit] Cursor einbinden [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Tim-94
Tim-94

Registriert seit: 3. Jul 2008
Ort: Hamburg
132 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Problem mit MouseMove Ereignis

  Alt 28. Jan 2009, 18:03
Jaa vielen Dank DeddyH es funktioniert alles!
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:51 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