Delphi-PRAXiS
Seite 2 von 2     12   

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)

Helmi 24. Dez 2004 13:23

Re: ermitteln ob Fenster geöffnet wurde?
 
hallo smart,

lass mal etwas Code sprechen!

Da würden wir uns leichter tun.

mfg
Helmi

Helmi 24. Dez 2004 13:34

Re: ermitteln ob Fenster geöffnet wurde?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich hab dir mal ein Beispiel-Programm gemacht!

Wenn du auf Button1 drückst, dann wird die Form "TestForm" erst angezeigt wenn sich auch erzeugt wurde.
Button2 erzeugt eine Form.

mfg
Helmi

smart 24. Dez 2004 14:14

Re: ermitteln ob Fenster geöffnet wurde?
 
Hier habe ich mal den Code:

Code:
--------------------------------
program MeinProgramm;

uses
  Forms,
  Haupt in 'Haupt.pas' {Form1},
  Fenster1 in 'Fenster1.pas' {Form2},
  Fenster2 in 'Fenster2.pas' {Form3};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
--------------------------------
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if Form2.Visible = true then
   Application.CreateForm(TForm2, Form2);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Application.CreateForm(TForm3, Form3);
end;

end.
Die Fenster müssen mit Application.CreateForm(TForm2, Form2); aufgerufen werden, da 2 Fenster zu gleich sichtbar sein sollen. Ähnlich wie meim Explorer, Auf der Hauptform soll beim klicken eines Buttons sich ein Fenster öffnen. Beim klicken auf einen zweiten Button soll sich ein weiters Fenster öffnen, aber erst wenn das erste schon offen ist.

Helmi 24. Dez 2004 14:26

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

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  If Assigned(Form3) then        //ich vermute du meinst Form3
    If Form3.Visible = true then
      Application.CreateForm(TForm2, Form2);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Application.CreateForm(TForm3, Form3);
end;
mfg
Helmi

smart 24. Dez 2004 15:02

Re: ermitteln ob Fenster geöffnet wurde?
 
Ahh... jetzt ja, es klappt. Also miss man mit Assigned immer abfragen wenn z.B. ein Fenster zur Laufzeit erzeugt wird.
Vielen Dank an Euch!

Helmi 24. Dez 2004 15:07

Re: ermitteln ob Fenster geöffnet wurde?
 
Zitat:

Zitat von smart
Vielen Dank an Euch!

Euch? - ich bin immer noch alleine :-)

Trotzdem gern geschehen :-)

mfg
Helmi


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 Uhr.
Seite 2 von 2     12   

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