Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Mauszeiger ausblenden (per Hook) (https://www.delphipraxis.net/19562-mauszeiger-ausblenden-per-hook.html)

SirThornberry 5. Apr 2004 14:15


Mauszeiger ausblenden (per Hook)
 
Vor einigen Tage habe ich ja schon gefragt wie man den mauszeiger in seiner gesammten Anwendung (also auch den ganzen unterforms) ausblendet und das ergebnis war das man mir einen mousehook nahegelegt hat. Jetzt hab ich meine Mausereignisse threadlokal gehookt und steh nun vor dem problem welche message ich rausfiltern muss bzw. wie es überhaupt funktioniert den mauszeiger über hook nicht nicht zeichnen zu lassen.

Assarbad 27. Apr 2004 12:56

Re: Mauszeiger ausblenden (per Hook)
 
Wer hat denn den Quark erzählt? Das einzige was ginge, sobald der Hook ne Nachricht bekommt, bekommt deine Anwendung ne Message den Mauszeiger zu verstecken. Ansonsten dienen Fensterhooks zur Unterbrechung der Nachrichtenverarbeitung oder einfach um Informationen über die Nachrichtenverarbeitung zu sammeln. Sie können nicht aufgerufen werden oder aktiviert werden o.ä.

Ich könnte mir noch vorstellen, daß SystemParametersInfo() dir so eine Möglichkeit bietet ... aber wahrscheinlich eher nicht.

Mauszeiger verstecken geht eben aus gutem Grund nur pro Fenster ;)

Muetze1 27. Apr 2004 12:57

Re: Mauszeiger ausblenden (per Hook)
 
Moin!

Reicht nicht auch einfach ein
Delphi-Quellcode:
Screen.Cursor := crNone
im Code?

MfG
Muetze1

Assarbad 27. Apr 2004 13:12

Re: Mauszeiger ausblenden (per Hook)
 
Pro Fenster ja, wie gesagt.

Muetze1 27. Apr 2004 14:15

Re: Mauszeiger ausblenden (per Hook)
 
Moin!

Zitat:

Zitat von Assarbad
Pro Fenster ja, wie gesagt.

Sicher? Bei Cursor := crNone ist es logisch - das würde dann nur den Cursor der Form verändern. Screen.Cursor gilt aber für die gesamte App und damit sollte es für die App getan sein.

Und selbst wenn es nur für's Fenster gilt - ist ja nicht so schwer eine Iteration über alle Forms des Application Objektes zu machen...

MfG
Muetze1

hitzi 27. Apr 2004 14:27

Re: Mauszeiger ausblenden (per Hook)
 
Hallo,

Delphi-Quellcode:
screen.cursor := crNone
gilt nur für das Fenster in welchen der Code ausgeführt wurde. Selbst wenn in dem Fenster ein anderes Fenster per OLE eingebunden ist (z.B. TWebbrowser) funktioniert dieser Code für dieses eingebundene Fenster nicht mehr.

Nochmal zur Erklärung
Delphi-Quellcode:
cursor := crNone
gilt für die jeweilige Komponente (in dem Fall Form1)
Delphi-Quellcode:
screen.cursor := crNone
gilt für die gesamte Form (nicht die gesamte Applikation) inklusive aller Komponenten (mit Ausnahmen -> siehe oben)


MfG Hitzi

fiasko 27. Apr 2004 14:27

Re: Mauszeiger ausblenden (per Hook)
 
Probier mal:

Delphi-Quellcode:
ShowCursor(false);

hitzi 27. Apr 2004 14:32

Re: Mauszeiger ausblenden (per Hook)
 
Das funktioniert über das gesamte Programm ohne Ausnahme :thuimb:

MfG Hitzi

SirThornberry 27. Apr 2004 15:08

Re: Mauszeiger ausblenden (per Hook)
 
Jipp, danke *knuddel* Genau das hab ich gesucht - wie kann ich nur danken *freu*

fiasko 27. Apr 2004 15:10

Re: Mauszeiger ausblenden (per Hook)
 
Kauf mir'n Eis 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr.
Seite 1 von 3  1 23      

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