AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?
Thema durchsuchen
Ansicht
Themen-Optionen

Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

Offene Frage von "Sir Rufo"
Ein Thema von Der schöne Günther · begonnen am 9. Feb 2015 · letzter Beitrag vom 9. Feb 2015
Antwort Antwort
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

  Alt 9. Feb 2015, 11:17
Ich habe ein Fensterhandle. Ich deaktiviere das Fenster mit WinApi.Windows.EnableWindow(windowHandle, False); . Der Benutzer kann mit dem Fenster nun nichts mehr machen: Nicht verschieben, nicht schließen, nicht darin herumklicken.

Kann ich nun doch eine kleine Ausnahme haben?
Ich hätte gerne dass der Benutzer das Fenster mit dem roten X in der Ecke schließen kann. Ist das möglich oder kann ich mir das abschminken?
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#2

AW: Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

  Alt 9. Feb 2015, 12:08
Ich würde über alle visuellen Komponenten rutschen und diese Disablen. Dann kann der Benutzer das Fenster verschieben und Schließen, aber die sonstigen Bedienelemente nicht bedienen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

  Alt 9. Feb 2015, 12:24
Meinst du mit "Komponenten" das, was ich mit EnumChildWindows erwischen würde? Ich weiß nicht ob man sich wirklich sicher sein kann dass nur das dort drinnen was auch ein Fenster-Handle hat, interaktiv sein kann. Ich hätte Angst davor, Dinge nicht zu erwischen.

In der VCL kann ich beispielsweise auch ein Label mit einem OnClick-Ereignis ausstatten und das Label hat überhaupt kein Fensterhandle.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

AW: Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

  Alt 9. Feb 2015, 12:40
Ich würde eher mit FindComponent in dem Fenster bei allen Komponenten die Eigenschaft Enable auf False setzen. Wenn Du zum Beispiel bei einem Panel die Eigenschaft Enabled auf False setzt, dann sind alle Komponenten auf dem Panel ebenfalls Disabled.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

  Alt 9. Feb 2015, 13:00
Den letzten Punkt würde ich aufgreifen.

Du könntest den gesamten Formularinhalt in ein Panel verschieben und das Enable=false setzen.
Für einen optischen Effekt könntest Du auch einen Screenshot erzeugen, den verwischen und im Formular darstellen.

Einen gewissen Aufwand musst Du für solche Schweinereien wohl in jedem Fall in Kauf nehmen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Kann ich den Benutzer ein deaktiviertes Fenster noch schließen lassen?

  Alt 9. Feb 2015, 13:30
Uh, Moment!

Das Thema ist zwar im Bereich "Win-API" aber ich hätte es trotz "Fensterhandle" deutlicher machen sollen: Ich rede über ein komplett fremdes, Nicht-VCL-Fenster. Ich habe nur sein Handle. Mehr nicht.
  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 15:43 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