Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Mainform nicht zeigen


GuaAck - Do 28.02.13 21:07
Titel: Mainform nicht zeigen
Liebe Experten,

ich mache ein kleines Programm, was sich nach Start sofort unten rechts im Systray (Windows XP u. ä.) mit einem ICON zeigen soll. Das ICON wird zyklisch entsprechend einem Systemstatus aktualisiert.

Funktioniert, aber: Bei Start blitzt kurz das MainForm auf dem Bildschirm auf,schließt sich und dann ist das ICON da. Das Aufblitzen ist unschön.

Wie kann ich das Aufblitzen vermeiden?

Meine Sequenz:

MainForm.OnCreate: Hier setze ich ein postmessage ab, was dann später in der Behandlungsroutine zu dem "Verschieben" in den Systray führt. Klar, dass da MainForm kurz gezeigt wird. Aber wie sonst? Habe verschiedene Dinge probiert (Hide, visible_false, Close), z. T. ohne Erfolg und z. T. mit Abort.

Hat wer eine Tipp?

Beste Grüße
GuaAck


Marc. - Do 28.02.13 21:54

Bei mir erscheint nur das TrayIcon oder habe ich da etwas falsch verstanden? :gruebel:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
program Project1;

{...}
  Application.ShowMainForm := False;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormCreate(Sender: TObject);
begin
  TrayIcon1.Visible := True;
end;


GuaAck - Do 28.02.13 23:01

Danke Marc,

Application.ShowMainForm := False;

das ist der Tipp!!!!

Bestens,
Gruß GuaAck