Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Maus im nur in der eigenen Anwendung steuern (https://www.delphipraxis.net/140102-maus-im-nur-der-eigenen-anwendung-steuern.html)

Asatru 11. Sep 2009 21:36


Maus im nur in der eigenen Anwendung steuern
 
Einen Wunderschönen Guten Abend....

Hätte mal wieder ein Anliegen für folgendes Problem:

Ich würde gern die Maussteuern, aber nur in der eigenen Anwendung,da stellen sich mir aber ein Problem in den Weg

1. Wie findet man Punkte in der eigenen Anwendung raus? (Soll ja auch Treffsicher sein, wenn Fenster mal an eine andere Position ist)

Mit freundlichen Grüßen

Luckie 11. Sep 2009 21:39

Re: Maus im nur in der eigenen Anwendung steuern
 
Puh, einer von uns ist schon besoffen, entweder du oder ich. Es wäre schön, wenn man mal eine klar definierte Frage hier bekommen würde.

Willst du, dass die Maus den Bereich deines Fensters nicht verlassen kann? Dann guck dir mal die API-Funktion MSDN-Library durchsuchenClipCursor an.

Jens Hartmann 11. Sep 2009 21:42

Re: Maus im nur in der eigenen Anwendung steuern
 
Hallo,

Also in dem Fall muss ich Lucki recht geben. Also so ganz verstehen was Du willst kann ich auch nicht.

Wenn Du auf bestimmte Aktionen der Maus reagieren willst, wären noch so Sachen wie MouseMove, MouseDown interessant.

Gruß Jens

Asatru 11. Sep 2009 21:46

Re: Maus im nur in der eigenen Anwendung steuern
 
Möchte zu meinem Prog ne eigene Animierte "Hilfe" bauen, die Bsp Step by Step alles erklärt und somit möchte ich mit mouse.cursorpos die Maus dann eben wandern lassen. Nur stellt sich mir die Frage wie krieg ich am Einfachsten die Cursorpunkte in meinem Prog raus wo ich meine Maus hinwandern lassen müsste, da ich es nicht maximieren möchte und jeder auch ne andere Auflösung hat.

Naja betrunken wie man es nimmt, lang lebe der Robby Bubble :-P

Hoffe hab mich bissle besser ausgedrückt, Ausdruck war noch nie so meine Stärke xD

Jens Hartmann 11. Sep 2009 21:51

Re: Maus im nur in der eigenen Anwendung steuern
 
Also ich denke mit den Befehlen MouseMove, kannst Du aufjedenfall die Auswertung machen. Wenn ich dich richtig versteh, dann soll deine Maus an eine bestimmte Pos. springen, wenn du mit der Maus über einer gewissen anderen Pos. bist.

Gruß Jens

Satty67 11. Sep 2009 21:57

Re: Maus im nur in der eigenen Anwendung steuern
 
Ich tippe eher, er will in einem Hilfefenster z.B. die Mouse auf einen Button setzen, damit der Benutzer weis, dass er da drücken muss.

Also Cursor-Position von Objekten im Fenster umrechnen auf globale Mouse-Koordinaten... mit ClientToScreen?

hathor 12. Sep 2009 11:50

Re: Maus im nur in der eigenen Anwendung steuern
 
Z.B. den Cursor in einem Formular "einsperren":

Delphi-Quellcode:
var ARect: TRect;
begin
    ARect.Top := Form1.top;
    ARect.Left:= Form1.Left;
    ARect.Right:= Form1.Left+Form1.Width;
    ARect.Bottom := Form1.top+Form1.Height;
    ClipCursor(@ARect);
end;

//Rückgängig machen
ClipCursor(nil);
//den Cursor plazieren mit SetCursorPos z.B. in die Mitte eines Panels
SetCursorPos(Panel1.Left+(Panel1.Width div 2),Panel1.top+(Panel1.Height div 2));

Asatru 16. Sep 2009 08:55

Re: Maus im nur in der eigenen Anwendung steuern
 
Zitat:

Zitat von Satty67
Ich tippe eher, er will in einem Hilfefenster z.B. die Mouse auf einen Button setzen, damit der Benutzer weis, dass er da drücken muss.

Also Cursor-Position von Objekten im Fenster umrechnen auf globale Mouse-Koordinaten... mit ClientToScreen?

Danke, habe nun die Coordinaten, aber welche funktion muss man verwenden um die coordinaten in meiner Form anzusteuern? mouse.cursorpos steuert ja die coordinaten vom Bildschirm an so wie ich bemerkt habe gibts für mein Zweck ne Speziellen befehl?

MFG

Edit: Hat sich erledigt, hab die Hilfe bei Google falsch interpretiert! Als Hilfe habe ich Mausposition festlegen mir zurate genommen. Control ist ja Form1 aber wie sagte ich das bsp x = form1.width = 180?

oder binsch damit auf dem Holzweg?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:15 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-2025 by Thomas Breitkreuz