![]() |
Cursor Position steuern ?
Hallo
ich versuche die Cursor-Position zu steuern. Der Cursor soll soll nicht Pixel Pixel auf Form bewegen sondern z.B. 100, 100 In Edit möchte ich das Ergebnis auch lesen :
Delphi-Quellcode:
wie schaffe ich sowas ?
Edit2.Text:=IntToStr(Mouse.CursorPos.X) +', ' +IntToStr(Mouse.CursorPos.Y);
Gruß |
Re: Cursor Position steuern ?
Versuch es mal mit
![]() |
Re: Cursor Position steuern ?
Zitat:
|
Re: Cursor Position steuern ?
Zitat:
Edit2.Text:=IntToStr(Mouse.CursorPos.X)+','+IntToS tr(Mouse.CursorPos.X); //<< Und Semikolon nicht vergessen :stupid: Gruß Matthias |
Re: Cursor Position steuern ?
Doch, es kann :stupid:
:P |
Re: Cursor Position steuern ?
Ich meine der Cursor soll nur auf diese Positionen bewegen z,B. 100,100, 100, 200, 100, 300, ...
d.h. wenn der Cursor Position 60,545 dann soll der Cursor zu der Position 100, 500 springen Ich wollte damit dass der Cursor nur auf dem Raster des Forms bewegen muss. Das ist das Ziel |
Re: Cursor Position steuern ?
(gewünschte stelle div 100) * 100
Bsp: 234 --> 234 div 100 = 2 *100 = 200 ! 251 --> 251 div 100 = 3 *100 = 300 ! :P:P |
Re: Cursor Position steuern ?
Versucht habe ich mit diesem Timer :
Delphi-Quellcode:
Aber der Cursor springt immer wieder ganz oben links von dem Screen.
procedure TForm1.Timer1Timer(Sender: TObject);
var point:TPoint; begin getCursorPos(point); SetCursorPos(Left+Trunc(point.X/100),Top+Trunc(point.y/100)); end; was muss ich auch dazu schreiben :gruebel: |
Re: Cursor Position steuern ?
Weils du nur durch 100 teilst, aber nicht mehr multiplizierst. Ausserdem würde ich nicht / nehmen sondern div. div ist für ganzzahlen und rundet dir das dann automatisch, weil nachkommastellen wegfallen. Dann musst du nicht nen Umweg über trunc machen.
Gruß Matthias |
Re: Cursor Position steuern ?
war grad irgendwie n bisschen falsch
|
Re: Cursor Position steuern ?
Danke!
Es hat mit dem Code wie ich sehe geklappt : )
Delphi-Quellcode:
SetCursorPos(Left+Trunc(Mouse.CursorPos.X+Mouse.CursorPos.X/100),Top+Trunc(Mouse.CursorPos.Y+Mouse.CursorPos.Y/100));
|
Re: Cursor Position steuern ?
ich würd aber trotzdem div zum dividieren nehmen, dann gibts nicht soviel trunc-gewurschtel, und performanter ist es auch.
Gruß Matthias |
Re: Cursor Position steuern ?
Zitat:
|
Re: Cursor Position steuern ?
Wieso wird Left eigentlich dazuaddiert? Mouse.CursorPos ist doch bereits in Screen-Koordinaten. Müsste also meiner Meinung nach heißen:
Delphi-Quellcode:
Oder mache ich jetzt einen dummen Denkfehler?
SetCursorPos(Mouse.CursorPos.X div 100 * 100,Mouse.CursorPos.Y div 100 * 100);
|
Re: Cursor Position steuern ?
Zitat:
Der Cursor soll auch nach rechts und nach unten springen, wenn das Ziel näher als nach oben und nach links :mrgreen: Meine Gedanken sagen mir, dass man die Höhe und die Breite des Forms zum Brechnen kommen müssen :gruebel: |
Re: Cursor Position steuern ?
In welchem Event hast du denn das reingeschrieben ?
Das würde helfen das ganze richtig zu stellen Gruß Matthias |
Re: Cursor Position steuern ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 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 by Thomas Breitkreuz