AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Modale Fenster prüfen

Ein Thema von Orbmu2k · begonnen am 28. Sep 2005 · letzter Beitrag vom 28. Sep 2005
Antwort Antwort
Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#1

Auf Modale Fenster prüfen

  Alt 28. Sep 2005, 14:28
Ich habe ein sehr umfangreiches Project mit sehr vielen Forms, die meissten davon werden Modal von der Hauptform geöffnet. Kann man in der Hauptform irgendwie prüfen ob gerade ein Modales Fenster geöffnet ist ?

Ich habe es mit
if not <MainForm>.Enabled then ... probiert ... aber Enabled wird wohl leider nicht auf False gestellt wenn ein Modales Fenster geöffnet wird
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Auf Modale Fenster prüfen

  Alt 28. Sep 2005, 14:41
wenn ein modales Fenster geöffnet ist, ist das Mainform solange blockiert, bis das modale Form wieder geschlossen wird.
Auch alle functions und procedures des mainform machen solange nix mehr.

wenn du parallel zu dem modalen Form was machen willst, wirst du um Threads nicht drumrum kommen...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Auf Modale Fenster prüfen

  Alt 28. Sep 2005, 14:49
Also so ganz kann das nicht stimmen Auf Eigene Messages reagiert meine Mainform Klasse noch und da liegt auch das Problem er soll die Message nur verarbeiten wenn kein Modales Fenster gerade geöffnet ist ...
  Mit Zitat antworten Zitat
Benutzerbild von Orbmu2k
Orbmu2k

Registriert seit: 29. Nov 2004
Ort: Erfurt
254 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Auf Modale Fenster prüfen

  Alt 28. Sep 2005, 15:31
Ok habs jetzt so gelöst ...

Delphi-Quellcode:
function TfrmMain.IsAnyClientWindowVisible: boolean;
var
  i:Integer;
begin
  Result := False;
  for i := 0 to Screen.FormCount - 1 do
     if Handle <> Screen.Forms[i].Handle then
       if IsWindowVisible(Screen.Forms[i].Handle) then
       begin
         Result := True;
         Break;
       end;
end;
  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 19:52 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