Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wie kann man das Mainform "disablen" (nicht anzeigen) ? (https://www.delphipraxis.net/120327-wie-kann-man-das-mainform-disablen-nicht-anzeigen.html)

Bbommel 9. Sep 2008 17:15

Re: Wie kann man das Mainform "disablen" (nicht an
 
Zitat:

Zitat von sirius
Ich würde mal das Hauptformular ändern. Also den Status Hauptformular einem anderen Formular zuweisen.

Jepp - das ist ja das, was ich im letzten Vorschlag durch das Vertauschen der CreateForms gemacht habe...

ralfiii 9. Sep 2008 17:18

Re: Wie kann man das Mainform "disablen" (nicht an
 
Zitat:

Zitat von Bbommel
Noch eine Ergänzung (irgendwie reizt mich das jetzt)

:lol:

Der Ansatz funktioniert für mich leider nur sehr schlecht, aber dein voriger war eigentlich genial & simpel.
Nun also:

Delphi-Quellcode:
begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);

  if ParamCount>0 then
  begin
       Application.MainFormOnTaskbar := False;
       Application.showMainForm:=false;
  end;
  Application.Run;
end.

und

procedure TForm1.FormCreate(Sender: TObject);
begin
     if ParamCount>0 then
        Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
     Timer1.Enabled:=False;
     with TForm2.Create(self) do
     begin
          ShowModal;
          Free;
     end;
     Close;
end;

Und weil ich nicht so ein Freund von Timern bin, hab ich dann einfach folgendes gemacht:

Delphi-Quellcode:
     if ParamCount>0 then
//        Timer1.Enabled:=True;
        PostMessage(self.handle, WM_AfterShow, 0,0);

procedure WMAfterShow (var Message: TWMChar); message WM_AfterShow;
procedure TForm1.WMAfterShow (var Message: TWMChar);
begin
     butShowModuleClick(nil);
     Close;
end;
Und da hat mich Delphi wieder überrascht.
Setze ich nämlich
Application.MainFormOnTaskbar := False;
funktioniert die Lösung mit der Message nicht mehr.

Also doch Timer.

Danke für deinen Beistand!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:49 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 by Thomas Breitkreuz