![]() |
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Zitat:
|
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Nennt man sowas nicht auch "schmuddelprogrammierung"? :smile2:
Hier hatte ich mir damals auch was zusammengeschrieben:
Delphi-Quellcode:
Jetzt brauchst du nur noch wiefolgt aufufen:
{*----------------------------------------------------------------------------------------
De/-aktiviert alle Controls im übergebenem TWinControl @Comment Aufgrund der Darstellung geh ich rekursiv durch alle Untercontrols durch @Param Win Alles hierdrin wird disabled Enable Aktivieren/Deaktivieren ----------------------------------------------------------------------------------------*} procedure EnableCntrls(const Win: TWinControl; const Enable: Boolean = true); var i: Integer; begin for i := 0 to Win.ControlCount - 1 do begin Win.Controls[i].Enabled := Enable; if Win.Controls[i] is TWinControl then EnableCntrls(TWinControl(Win.Controls[i]), Enable); end; end;
Delphi-Quellcode:
EnableCntrls(Self, false);
|
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Zitat:
MfG und sorry |
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Ich packe da mal noch meine Funktion aus der Code-Library zu ;-)
![]() Viele Grüße |
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Liste der Anhänge anzeigen (Anzahl: 1)
Erst mal danke für die vielen Hinweise!
Ich habe mir natürlich auch einige Gedanken darüber gemacht, wie sowas umgesetzt werden könnte. Disablen aller Controls (= Menü, Toolbars, Hauptform) ist eine Möglichkeit, die ich nicht Erwägung gezogen hatte, sie hat halt den Nachteil, das dann alles "grau" wird, was unschön sein könnte. Ein Programm das eben mal verschwindet, weil das Speichern länger dauert (und dann eventuell auch noch selber wieder aus der Versenkung auftaucht) finde ich allerdings noch viel schlimmer. Ein Bild von meinem Programm Design habe ich angehängt. Vorstellen könnte ich mir auch, einen Dialog der Modal über dem Programm liegt und ähnlich dem Kopieren-Dialog in Windows eine Animation + Fortschrittsbalken bietet und so das Programm "legal" sperrt. Ist aber auch ned so schön, wenn sowas nach dem "Speichern"-Dialog aufpoppt ... Eine weitere Option wäre es einen "Screenshot" vom aktuellen Programm zu machen, die eigentliche Form zu verstecken und eine "Dummy-Form" mit dem Bild + Fortschrittsbalken anzuzeigen (so macht Windows das mit Programmen die sich nicht mehr melden)... naja ... irgendwie auch nicht schön? Gibt es dazu noch Meinungen? LG Whookie |
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Demodino im Anhang MfG |
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Das mit dem Panel sieht nicht schlecht aus, nur das Hauptmenü bleibt davon leider ausgeschlossen ...
|
Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)
du könntest das Hauptmenü zeitweise entfernen (form.menu:=nil;) und danach wieder zuweisen.
für den rest wäre evtl auch noch eine Möglichkeit, wie vorher gesagt alles auf ein Panel, dieses aber verstecken (panel.Visible:=false;). hätte den vorteil, dass man das fenster noch normal bedienen kann, aber die Aktionscontrols nicht bedienbar sind. an der Stelle wo das Panel war kannst du ein anderes Panel einblenden, was deinen Fortschrittsbalken und ggf. weitere Infos, eine Grafik oder Animation anzeigt. Gruß Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 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