![]() |
Maus verstecken und Aktionen unterbinden
Hi DP'ler,
wie man die Maus, in seiner eigenen Anwendung, versteckt weiss ich, das mach ich mit: showcursor(false) und showcursor(true). Wie kriege ich das Programm aber dazu, dass es nicht mehr auf Mausklicks reagiert? Ist ist zwar schön wenn ich den Mauszeiger unsichtbar machen kann wenn ich den jedoch (obwohl unsichtbar) irgendwohin führe und klicke werden z.B. Buttonevents trotzdem ausgeführt. Grüsse rainer |
AW: Maus verstecken und Aktionen unterbinden
Wenn nichts mehr angeklickt werden darf, dann befindet sich deine Anwendung ja in einem bestimmten Zustand (den du dir irgendwo gemerkt hast)
Delphi-Quellcode:
Bei jedem Button-Event kannst du das abfragen und entsprechend reagieren
NixMehrReagieren := True;
Delphi-Quellcode:
Du kannst aber auch
if NixMehrReagieren then
ShowMessage( 'Lieber Anwender, es wäre zuckersüß von dir, wenn ich meine von dir bekommene Aufgabe auch mal abarbeiten dürfte und du mich nicht durch wildes Herumgeklicke von meiner Arbeit abhalten würdest!' ) Else begin { der normale Code für den Event } end;
Delphi-Quellcode:
setzen.
Form1.Enabled := False;
Bitte aber wieder einschalten, sonst tut nix mehr Weitere Möglichkeit wäre es diese Events über eine TActionList zu verwalten (ist generell zu empfehlen). Die kann man dann darüber abschalten. |
AW: Maus verstecken und Aktionen unterbinden
Lass den Unsinn und deaktiviere die Schaltflächen, die man nicht anklicken darf.
|
AW: Maus verstecken und Aktionen unterbinden
Hi,
Zitat:
Egal ob Unsinn oder nicht ich wüsste halt gerne wie man das machen kann. Grüsse Rainer |
AW: Maus verstecken und Aktionen unterbinden
Wenn ein inaktiver Menüeintrag angeklickt wird, dann sollte auch nix passieren und schon garnicht etwas spinnen.
Man kann zwar die Maus in einem unproblematischen Bereich einsperren, aber da dieses global und nicht nur programmintern passiert, ignoriere ich diese Möglichkeit einfach mal. Das Beste ist wirklich, ales du deaktiveren, welches man nicht anklicken darf. > Alles was in deinem Programm auf die Maus reagiert, wird entweder deaktiviert oder das Klicken wird intern einfach ignoriert. > An Eingabegeräten, welche nicht explizit nur mit deinem Programm verbunden sind, wird möglichst nicht dran rumgespielt. |
AW: Maus verstecken und Aktionen unterbinden
Hört sich an als wenn du dich in ein Fremdes Programm einklinken willst
Nana das kann böse folgen haben. will nix unterstellen gruss |
AW: Maus verstecken und Aktionen unterbinden
|
AW: Maus verstecken und Aktionen unterbinden
wäre es nicht das einfachste das ganze Formular einfach auszublenden wenn man in dem Formular nichts machen soll? In dieser Zeit kannst du, wenn es denn unbedingt sein muss, ein anderes Fenster einblenden in dem der User lesen kann was gerade los ist.
|
AW: Maus verstecken und Aktionen unterbinden
Zitat:
Was macht dein Programm und warum spinnt es? Bei einem Hauptmenu gibt es die dauerhaft sichtbare "Kopfzeile" und die darunterhängenden Menuitems. Die MenuItems in der Kopfzeile können auch mit einer Action oder einem OnClick-Eventhandler verknüpft werden. Aber das wäre ein Fehler!! Nur die MenuItems unterhalb der Kopfzeile dürfen eine Reaktion auslösen. (es gibt nur ganz wenige Fälle, bei denen auch ein Menueitem in der Kopfzeile eine Reaktion auslösen darf) Du hast jetzt die Wahl zwischen richtig (siehe Luckie's Betrag#3) und falsch (Messages abfangen, Maus einsperren). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:29 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