Autor Beitrag
GuaAck
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 378
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Do 28.02.13 21:07 
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.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1876
Erhaltene Danke: 129

Win 8.1, Xubuntu 15.10

BeitragVerfasst: Do 28.02.13 21:54 
Bei mir erscheint nur das TrayIcon oder habe ich da etwas falsch verstanden? :gruebel:

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

{...}
  Application.ShowMainForm := False;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormCreate(Sender: TObject);
begin
  TrayIcon1.Visible := True;
end;

Für diesen Beitrag haben gedankt: GuaAck
GuaAck Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 378
Erhaltene Danke: 32

Windows 8.1
Delphi 10.4 Comm. Edition
BeitragVerfasst: Do 28.02.13 23:01 
Danke Marc,

Application.ShowMainForm := False;

das ist der Tipp!!!!

Bestens,
Gruß GuaAck