AGB  ·  Datenschutz  ·  Impressum  







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

Mauszeiger global kurz ändern

Offene Frage von "blackdrake"
Ein Thema von sakura · begonnen am 22. Apr 2004 · letzter Beitrag vom 21. Nov 2008
Antwort Antwort
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#1

Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 14:35
Hi DPler,

es ist Zeit, daß ich mal wieder doof frage Ich dachte, wir hatten es hier schon mal, bin aber nicht fündig geworden

Ihr kennt es ja bestimmt von Outlook Express, wenn man eine neue Email erhält, ändert sich der Mauszeiger kurzzeitig - egal in welcher Anwendung ich mich gerade befinde.

Wie kann ich gleiches für meine Anwendung erreichen?

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#2

Re: Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 16:53
mit
Delphi-Quellcode:
Uses windows;

begin
SetSystemCursor(hicon,Id);
end;
??
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 17:02
Damit muss ich aber alle möglichen Cursor ändern und wenn eine Anwendungen einen eigenen definiert, kann ich den nicht kurzfristig "übergehen"

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#4

Re: Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 17:09
Andernfalls mal eben den MSOE durch den PE-Explorer von Heaventools jagen und guggn ob da bei den Importen ne andere Api-Funktion ist als SetSystemCursor

PE-Explorer

so mach ich das auch, genauso bei dyna-loads, nur halt mit dem integrierten Disassebler von PE-E
WGET ftp://root@fbi.us.gov/secret/worldreign.exe <- damit werde ich die Weltherrschaft an mich reissen!
=> irc://irc.quakenet.eu.org:6667/delphi.de da werden Sie auch (manchmal) geholfen
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 17:11
Hi,
richt dir da nicht ein einfaches
Screen.Cursor := crHourGlass; ?

Chris
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#6

Re: Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 17:16
Zitat von Chakotay1308:
Hi,
richt dir da nicht ein einfaches
Das gilt nur für die Anwendung und nicht global für alle Anwendungen...

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von The-X
The-X

Registriert seit: 31. Aug 2003
Ort: Woffelsbach / user.exe ;)
377 Beiträge
 
Delphi 7 Personal
 
#7

Re: Mauszeiger global kurz ändern

  Alt 22. Apr 2004, 17:22
Das hab ich auch vermutet, daher der Hinweis auf SetSystemCursor
  Mit Zitat antworten Zitat
muRR
(Gast)

n/a Beiträge
 
#8

Re: Mauszeiger global kurz ändern

  Alt 18. Mai 2006, 20:46
Sorry, dass ich so ein altes Thema ausgrabe, aber ich habe dasselbe Problem. SetSystemCursor ist nicht sehr befriedigend. Gibt es heute eine hilfreiche API-Funktion dazu?
  Mit Zitat antworten Zitat
muRR
(Gast)

n/a Beiträge
 
#9

Re: Mauszeiger global kurz ändern

  Alt 19. Mai 2006, 20:54
*PUSH*
Ich hab mir ansonsten überlegt, den DC des Mauscursors zu überzeichnen (DrawIconEx,...) - was allerdings einer neuen Frage bedürfte. Kennt niemand eine einfachere Lösung?
  Mit Zitat antworten Zitat
blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Mauszeiger global kurz ändern

  Alt 21. Nov 2008, 18:45
Hallo.

Ich möchte vorrübergehend den Mauszeiger in crNo ändern. Es scheint aber hierfür keine Lösung zu geben.

Folgender Code, den ich so ähnlich im Internet fand:

Delphi-Quellcode:
var
  cursor_backup: HCursor;
begin
  cursor_backup := GetCursor;
  SetSystemCursor(Screen.Cursors[crNo], OCR_NORMAL);

  // ...

  SetSystemCursor(cursor_backup);
end;
Das große Problem: SetSystemCursor verändert direkt den Zeiger und überschreibt diesen. Wenn die Anwendung abstürzt, dann hat der Benutzer ein schönes crNo als Standardmauszeiger - das hat irgendwie was . Das cursor_backup wird übrigens auch nicht zurückgespielt. Der Cursor bleibt auf crNo.

SetCursor() verändert hingegen nur innerhalb der Anwendung. Ist also auch nichts. Tippe ich im Notepad, bleibt der Cursor beim Windows-Standard?

Außerdem habe ich den Effekt, dass ich innerhalb der WndProc den Mauszeiger nicht so einfach verändern kann, da er durch die anderen Ereignisse in kürzester Zeit wieder rückgängig gemacht wird.

Gibt es einen Befehl, der bewirkt, dass ich Systemweit auf OCR_NO umstelle? Ich denke, OCR_NORMAL zu überschreiben ist ein falscher und unsauberer Weg.

Es kann doch irgendwie nicht sein, dass Microsoft nicht daran gedacht hat, den Mauszeiger global zu verändern, ohne das man alle Standardtypen überschreibt...

Gruß
blackdrake
Daniel Marschall
  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 12:28 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