Maus deaktivieren
-
Wie fange ich denn die Ereignisse ab?
-
Quatsch.
Ruf ShowCursor aus der WinAPI auf.
-
Bevor du hier voreilig Quatsch sagst, würde ich mal folgendes beachten:
- ShowCursor gilt nur für die Anwendung aus der es aufgerufen wird. Die Anforderung hier war eine andere
- ShowCursor schaltet nur die Maus unsichtbar. Ereignisse werden dennoch gesandt und wenn man einen Button trifft wird dieser ausgelöst.
Wenig Quatsch :p
-
OK, aber ich weiß jetz immer noch nicht, wie ich das anstellen soll. Gibts nicht in der user32.dll eine Funktion, die die Maus deaktiviert?
-
Nein, leider nicht
Hast du dir in der Win 32 API SetCapture angesehen?
Hast du dir die Seite auf die der Link wies angesehen?
-
ja, hab ich mir angesehen.
aber ich versteh nicht ganz wie der aufruf aussehen soll.ich hab da mal was gefunden, aber das ist leider für vb:
http://www.activevb.de/tipps/vb6tipps/tipp0413.htmldas funktioniert anscheinend mit der user32.
könnte man das dann nicht mit c++ auch so machen?
-
ShowCursor + BlockInput
-
Danke, nur ich steige damit immer noch nicht ganz durch.
Wäre super, wenn wer einen kleinen Beispiel-Code schreiben könnte.
Vielen Dank!
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Hätte evtl. jemand kurz Zeit, mir ein Beispiel mit BlockInput zu schreiben?
-
jetz hab ichs:
#include <winable.h> void __fastcall TForm1::Button1Click(TObject *Sender) { BlockInput(true); }
-
Die funktion ist ja geil kannte ich überhaupt nicht

-
Ja, das ist auch eine Lösung:
ShowCursor(false); BlockInput(true);BlockInput muss wohl irgendwie neuer sein. Meine Hilfe zum SDK kennt sie nicht.
Auch ist ein#include<winable.h>erforderlich
-
Witzig! Mein Builder sagt: "Unable to open include file 'Winable.h'"

-
Neues SDK herunterladen! Wie gesagt... scheint neuer zu sein!
-
Wenn ich mir die neue SDK runterlade,
laufen die Programme dann auchnoch auf Win 95/98/ME
-
Noch ne Frage:
Welche SDK soll ich mir denn runterladen?
auf Microsoft.com sind ja zig Updates!
http://www.microsoft.com/downloads/results.aspx?NextOrPrevClause=2%7c%2b707&productID=&CategoryID=&freetext=SDK&DisplayLang=de&DisplayEnglishAlso=on&sortCriteria=popularity&startDate=&period=0&type=&sortOrder=ascending&nr=20
-
Das hat nix damit zu tun, ob sie noch auf Win 9x laufen... Sie laufen quasi nur 'besser' auf den neunen Systemen, sprich es sind neue Funktionen 'drin'.
EinM schrieb:
Welche SDK soll ich mir denn runterladen?
Klickst du zurück Button deines Browsers und dann steht da ganz oben über allen Threads im WinAPI Forum ein Link^^
-
BlockInpiut läßt sich durch Strg+Entf+alt wieder aufheben. Darf man fragen warum du verhindern willst, dass der Benutzer normal mit seinem Windows weiterarbeiten kann?
-
Ich hab auch noch ne Idee:
Du kannst den bereich des Mauszeigers begrenzen.TRect TheRect; TheRect = Rect(0,0,1024,768); ClipCursor( &TheRect );Allerdings musst du Dafür sorgen, dass Dein Formular Aktiv Bleibt. weil die funktion sonst aufgehoben wird.
Noch ne Idee:
Den Mauszeiger Verstecken und mit einem Timer immer wieder auf die Gleiche Position setzen.