Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi ermitteln ob Fenster geöffnet wurde? (https://www.delphipraxis.net/36717-ermitteln-ob-fenster-geoeffnet-wurde.html)

smart 24. Dez 2004 08:59


ermitteln ob Fenster geöffnet wurde?
 
Wie kann man ermitteln, ob ein Fenster (Form) geöffnet wurde und darauf reagieren?

Helmi 24. Dez 2004 09:08

Re: ermitteln ob Fenster geöffnet wurde?
 
Hallo,

warum nicht so:

Code:
If Form1.Visible then
  begin
    //mach was
  end;
Wenns sichtbar ist, ist es doch geöffnet, oder?

mfg
Helmi

Harald 24. Dez 2004 09:10

Re: ermitteln ob Fenster geöffnet wurde?
 
Guten Morgen,

indem Du das Ereignis "OnShow" des Forms auswertest.

Gruß und schöne Tage
Harald

smart 24. Dez 2004 10:33

Re: ermitteln ob Fenster geöffnet wurde?
 
Vielen Dank für die Antworten.
Aber so einfach ist es wohl doch nicht. Wenn ich so abfrage, kommt eine Fehlemeldung, da das Fenster vileicht noch nicht auf ist. Mit OnShow kann ich erst reagieren wenn das Fenster bereits auf ist. Ich möchte von einer Hauptform aus ein weiteres Fenster öffnen und zuvor abfragen ob bereits ein Fenster auf ist und wenn ja ein anderes öffnen.

Helmi 24. Dez 2004 10:48

Re: ermitteln ob Fenster geöffnet wurde?
 
Hallo,

wieso machst du es nicht so:

Code:
If Form2.Visible then
 Form3.Show;
Oder versteh ich da was verkehrt?

mfg
Helmi

smart 24. Dez 2004 11:14

Re: ermitteln ob Fenster geöffnet wurde?
 
Wenn ich mit If Form2.Visible then Form3.Show; abfrage, kommt eine Fehlermeldung da die Form2 noch nicht offen ist.

Helmi 24. Dez 2004 11:30

Re: ermitteln ob Fenster geöffnet wurde?
 
was für eine Fehlermeldung?

Wann erzeugt du die Forms?

Neutral General 24. Dez 2004 12:21

Re: ermitteln ob Fenster geöffnet wurde?
 
Ich hab mir die Situation mal nachgebaut :

-3 Formulare.
-2 Buttons.

Wenn ich in den 1.Button das schreibe :

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender : TObject)
begin
  if Form2.Visible = true then
   Form3.Show;
end;
und in den 2.Button das :

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender : TObject)
begin
Form2.Show;
end;
dann passiert beim Klick auf Button1 erstmal nichts. Wenn ich dann auf den 2.Button Klicke erscheint Form2 und wenn ich dann wieder auf Button1 klicke dann erscheint Form3, und zwar ohen irgendwelche Fehler :gruebel:

[edit]Rechtschreibfehler korrigiert[/edit]

Helmi 24. Dez 2004 12:43

Re: ermitteln ob Fenster geöffnet wurde?
 
Ich hab die Vermutung dass er die Forms zur Laufzeit erzeugt
und dass er deshalb einen Fehler erhält

Da würde doch Assigned helfen oder?

smart 24. Dez 2004 13:20

Re: ermitteln ob Fenster geöffnet wurde?
 
Entschuldigung! Ich hatte vergessen zu schreiben, dass die Forms zur Laufzeit erzeugt werden! Ich habe zwar eine Lösung mit eine Variable, ist aber sehr umständlich und nicht so schön gelöst. Ich habe aber auch noch nicht so viel Erfahrung mit Delphi. Habe zuvor mit VB gearbeitet. Mir ist es sehr wichtig von Euch etwas zu lernen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.
Seite 1 von 2  1 2      

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