AGB  ·  Datenschutz  ·  Impressum  







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

Eine Funktion mit der Maus nachfahren

Ein Thema von Schwabe · begonnen am 4. Jan 2004 · letzter Beitrag vom 20. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#1

Eine Funktion mit der Maus nachfahren

  Alt 4. Jan 2004, 18:32
Kann man es irgendwie hinbekommen, dass wenn man auf einen button klickt der Mauszeiger auf eine gezeichnete Funktion springt und der x-wert mit Schieben nahc rechts oder links verändert wird und der y-wert aus einer Funktion f(x) genommen wird?

Welches Ereigenis muss ich da denn nehmen MouseMove oder was anderes?




MFg Schwabe
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Eine Funktion mit der Maus nachfahren

  Alt 4. Jan 2004, 18:41
Folgender Code sollte Dir einen Ansatz geben:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  P: TPoint;
begin
  for I := 0 to 100 do
  begin
    GetCursorPos(P);
    P.X := P.X + 1;
    P.Y := P.Y + 1;
    SetCursorPos(P.X, P.Y);
    Sleep(10);
  end;
end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Eine Funktion mit der Maus nachfahren

  Alt 4. Jan 2004, 18:46
Ich hoffe, ich hab das jetzt richtig verstanden.

Du willst den Mauszeiger mit deinem Programm verschieben ?


Hiermit wird die Mausposition gesetzt:
SetCursorPos(X, Y); Im Programm z.B. so:
Delphi-Quellcode:
Var X, Y: Integer;

For X := 0 to 100 do Begin
  Y := f(X);
  SetCursorPos(X, Y);
  Application.ProcessMessages;
  Sleep(10);
End;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#4

Re: Eine Funktion mit der Maus nachfahren

  Alt 4. Jan 2004, 18:53
Moin!

Zu der Frage welches Ereignis du nehmen musst...Im OnMove würdest du gleich X- und Y-Position der Maus auf der PaintBox bekommen.

Der Befehl den du dann dort rein schreibst könnte z.B. so aussehen:

  Windows.SetCursorPos(Mouse.CursorPos.X, Mouse.CursorPos.Y + Form1.PaintBox1.Height - Y - (f(X))); f(X) wäre deine Funktion, die du ja im Quelltext weiter oben definieren kannst. z.B:

Delphi-Quellcode:
function f(x: Integer): Integer;
begin
  result := 3 * x;
end;
MfG Niels
  Mit Zitat antworten Zitat
Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#5

Re: Eine Funktion mit der Maus nachfahren

  Alt 4. Jan 2004, 19:13
ok vielen Dank. Jetzt werds ich hoffentlich schaffen
  Mit Zitat antworten Zitat
Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#6

Re: Eine Funktion mit der Maus nachfahren

  Alt 14. Jan 2004, 13:47
So ich hab des jetzt geschafft, dass man die Funktion nachfahren kann. Jetzt hab ich aber leider nen anderes Problem . Sobald das SetCursorPos - Ereignis aktiv ist wird meien Mausposition nicht mehr angezeigt. An was kann das liegen.

Der Code um die Mausposition zu bekommen:
Delphi-Quellcode:
  breite:= ISchaubild.width;
  hoehe:= ISchaubild.height;
  x1:=((x-breite/2)+verposx)/Einheit;
  y1:=((hoehe/2-y)+verposy)/Einheit;
  Statusbar.Panels[0].Text:='Mauszeigerposition ('+FloattoStrf(x1,ffFixed,2,1)+ ' / '
                       + FloatToStrf(y1,ffFixed,2,1) + ')';
Sobald ich jetzt die SetCursoPos aufrufe und mich mit dem Mauszeiger auf der Funktion befinde wird die Position nicht mehr angezeigt!

Brauche dringend Hilfe.
  Mit Zitat antworten Zitat
Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#7

Re: Eine Funktion mit der Maus nachfahren

  Alt 14. Jan 2004, 17:21
Kann mir dabei keiner helfen. Bräuchte wirklich möglichst schnell Hilfe
  Mit Zitat antworten Zitat
Niels

Registriert seit: 25. Okt 2003
192 Beiträge
 
#8

Re: Eine Funktion mit der Maus nachfahren

  Alt 14. Jan 2004, 19:25
Moin!
Du hast den Code sicherlich im OnMouseMove drin. Das wird jedoch soviel ich weiß nicht aufgerufen wenn du die Cursorposition mit SetCursorPos veränderst. Du kanns ja aber die Prozedur zur Mauspositionsanzeige aus der, wo das SetCursorPos steht nach jeder Positionsänderung aufrufen.

MfG Niels
  Mit Zitat antworten Zitat
Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#9

Re: Eine Funktion mit der Maus nachfahren

  Alt 14. Jan 2004, 19:48
Also des steht beides in MouseMove. Ich versteh bloß nicht wie du das meinst. Könntest du mir ein Beispiel geben?
  Mit Zitat antworten Zitat
Schwabe

Registriert seit: 4. Jan 2004
15 Beiträge
 
#10

Re: Eine Funktion mit der Maus nachfahren

  Alt 15. Jan 2004, 11:46
Kann mnir hier niemand weiterhelfen? Ist sehr wichtig!
  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 00:26 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