AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Eingabeinterface kurzeitig sperren (Maus+Tastatur)
Thema durchsuchen
Ansicht
Themen-Optionen

Eingabeinterface kurzeitig sperren (Maus+Tastatur)

Ein Thema von Whookie · begonnen am 25. Mär 2009 · letzter Beitrag vom 25. Mär 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#11

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 15:17
Zitat von mr_emre_d:
[Dann soll er alles auf n Panel packen und Panel1.Enabled := False - setzen
Gut, dass dus NOCHMAL widerholt hast
  Mit Zitat antworten Zitat
Benutzerbild von mleyen
mleyen

Registriert seit: 10. Aug 2007
609 Beiträge
 
FreePascal / Lazarus
 
#12

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 15:18
Nennt man sowas nicht auch "schmuddelprogrammierung"?

Hier hatte ich mir damals auch was zusammengeschrieben:
Delphi-Quellcode:
{*----------------------------------------------------------------------------------------
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;
Jetzt brauchst du nur noch wiefolgt aufufen:
EnableCntrls(Self, false);

Geändert von Daniel ( 8. Jun 2020 um 16:54 Uhr)
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#13

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 16:17
Zitat von Meflin:
Zitat von mr_emre_d:
[Dann soll er alles auf n Panel packen und Panel1.Enabled := False - setzen
Gut, dass dus NOCHMAL widerholt hast
xD hab ja nicht alles gelesen bin bis zu der Aussage gekommen, dann dacht ich mir, dass ich gleich antworte

MfG und sorry
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 17:30
Ich packe da mal noch meine Funktion aus der Code-Library zu
Alle Subcontrols eines Controls dis- / enablen

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 18:33
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
Miniaturansicht angehängter Grafiken
savebar_209.jpg  
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#16

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 19:06
Zitat von Whookie:
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.
wenn du alles auf ein panel klatscht und es disablest, werden die Controls nicht grau angezeigt

Demodino im Anhang

MfG
Angehängte Dateien
Dateityp: rar demodino_197.rar (162,7 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#17

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 19:30
Das mit dem Panel sieht nicht schlecht aus, nur das Hauptmenü bleibt davon leider ausgeschlossen ...
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#18

Re: Eingabeinterface kurzeitig sperren (Maus+Tastatur)

  Alt 25. Mär 2009, 22:41
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 08:57 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