AGB  ·  Datenschutz  ·  Impressum  







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

onMouseMove bei Image ShowMessage

Ein Thema von Christian18 · begonnen am 22. Apr 2006 · letzter Beitrag vom 23. Apr 2006
Antwort Antwort
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#1

onMouseMove bei Image ShowMessage

  Alt 22. Apr 2006, 13:34
Hallo,

ich habe eine Access DB in der habe ich eine Tabelle Positionen! In der Tabelle Positionen sind folgende Felder enthalten:

1. Idx
2. Pfad
3. x
4. y

wenn ich mein Programm starte, dann werden aus der tabelle die daten geladen und in ein Image eingezeichnet. Also es werden kreise gezeichnet

x1=x-3
y1=x-3
x2=x2+3
y2=y2+3

wenn ich mit der Mouse über den Punkt fahre, dann soll ein ShowMessage ausgelöst werden. Die Informationen für das ShowMessage sollen sein:

x und y koordinaten.

Hier mein Code den ich bis jetzt habe:
Delphi-Quellcode:
procedure TFPositionen.Image1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
  var j : Integer; // Schleifenvariable
      x1, x2, y1, y2 : Integer;
begin
  DM.TPositionen.First; // DM ist ein Datenmodul
  for j:=1 to DM.TPositionen.RecordCount do
    begin
      // Parameter setzen
      x1:=DM.TPositionen.FieldByName('X').AsInteger - 3;
      y1:=DM.TPositionen.FieldByName('Y').AsInteger - 3;
      x2:=DM.TPositionen.FieldByName('X').AsInteger + 3;
      y2:=DM.TPositionen.FieldByName('Y').AsInteger + 3;

      if (x >= x1) and (y >= y1) and (x <= x2) and (y <= y2) then
        begin
          ShowMessage('X: ' + DM.TPositionen.FieldByName('X').AsString + 'Y: ' + DM.TPositionen.FieldByName('X').AsString);
        end;

      DM.TPositionen.Next;
    end;
end;
Kann mir jemand bei meinem Problem helfen???


MFG Christian18
  Mit Zitat antworten Zitat
Nogge

Registriert seit: 15. Jul 2004
336 Beiträge
 
Delphi 7 Professional
 
#2

Re: onMouseMove bei Image ShowMessage

  Alt 23. Apr 2006, 11:13
Hallo Christian18,
Hast Du schon mal mithilfe von Breakpoints nachgeschaut, ob die Koordinaten, die in deiner Datenbank enthalten sind, innerhalb des Images sind bzw. ob überhaupt etwas in Deiner Datenbank steht? Ich kann sonst jedenfalls nichts Auffälliges am Code entdecken.
Delphi-Quellcode:
procedure TFPositionen.Image1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
  var j : Integer; // Schleifenvariable
      x1, x2, y1, y2 : Integer;
begin
  DM.TPositionen.First;
  for j:=1 to DM.TPositionen.RecordCount do // Wozu 'ne for-schleife, wenn Du die Variable j nicht benötigst? Benutz ne while- oder repeat-schleife ;-)
    begin
      x1:=DM.TPositionen.FieldByName('X').AsInteger - 3;
      y1:=DM.TPositionen.FieldByName('Y').AsInteger - 3;
      x2:=x1 + 6; // performancesteigernd
      y2:=y1 + 6; // performancesteigernd

      if (x >= x1) and (y >= y1) and (x <= x2) and (y <= y2) then
        begin
          ShowMessage('X: ' + DM.TPositionen.FieldByName('X').AsString + 'Y: ' + DM.TPositionen.FieldByName('Y').AsString); // Y anstatt X
        end;

      DM.TPositionen.Next;
    end;
end;
mfg Nogge
  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 23:44 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