Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Frage Hide (https://www.delphipraxis.net/8436-frage-hide.html)

Evian 4. Sep 2003 15:35


Frage Hide
 
Ich suche eine Möglichkeit, ein Programm, gleich wenn ich es starte zu Hiden(für Systrayicon). Aber ich weiß nicht, bei welchen Ereignis ich das machen soll, denn im Onshow ereignis von Form1 kann ich nicht Form1.hide mitreinmachen.

Hat da jemand ne Idee?

Evian

Matze 4. Sep 2003 15:36

Re: Frage Hide
 
Wie wär's mit OnActivate?

Alexander 4. Sep 2003 15:39

Re: Frage Hide
 
Du könntest einfach das Programm ohne die VCL erstellen, d.h. ohne jegliche Form.
Wenn du das machen willst (ist etwas komplizierter), dann kann ich dir nur Luckies Tutorials empfehlen.
Sonst könntest du den Source direkt in die Projektdatei tun, müsste auch funktionieren.

Alexander 4. Sep 2003 15:41

Re: Frage Hide
 
Bei OnActivate müsste es zu einem Fehler kommen....

neolithos 4. Sep 2003 15:43

Re: Frage Hide
 
Delphi-Quellcode:
Application.ShowMainForm := false;
in der dpr Datei setzen.

ich hoffe das ist was du meinst

Evian 4. Sep 2003 15:46

Re: Frage Hide
 
Auch wenn ich es in onActivate mache, kommt die selbe Exception:

Projekt Projekt1.exe raised exception class EInvalidOperation with message 'Cannot change Visible in OnShow or InHide'. Process stopped. Use or Run to Continue

...onActivate ist also im gleichem Momment, wie das erste mal Onshow.

Hast Du oder wer anders noch eine andere Idee?

Matze 4. Sep 2003 15:48

Re: Frage Hide
 
Da gab es doch schon ein paar Ideen, ich war nicht der einzige. ;)

neolithos 4. Sep 2003 15:49

Re: Frage Hide
 
nicht in OnActivate sonder dort ...


Delphi-Quellcode:
begin
  Application.Initialize;
  Application.ShowMainForm := false
  Application.CreateForm(Tfrm, frm);
  Application.Run;
end.

Alexander 4. Sep 2003 15:50

Re: Frage Hide
 
Das habe ich doch gesagt, das OnActivate nicht klappen wird.
Wie gesagt musst du einfach ShowMainForm in der dpr-Datei auf FAlse setzen. Auch neolithos hat das geschrieben. ;-)
Wo ist jetzt genau das Problem?

Matze 4. Sep 2003 15:51

Re: Frage Hide
 
Das einfachte ist: OnPaint
Das geht, ich hab's gerade probiert!

Man sieht die Form allerdings für einen Bruchteil einer Sekunde. :(

Matze 4. Sep 2003 15:52

Re: Frage Hide
 
Könnte man nicht einfach im OI Visible auf false setzten? :gruebel:

Alexander 4. Sep 2003 15:53

Re: Frage Hide
 
Nein!
Direkt in der Proekt datei. Denn dann wird das erst gar nicht gezeichnet...

Evian 4. Sep 2003 15:55

Re: Frage Hide
 
Sorry, ihr seid alle so fix... hatte nicht gerefreshed deswegen mein 2ter Treat(war bis jetzt immer bei programmiererboard.de :freak: ). Zu..

begin
Application.Initialize;
Application.ShowMainForm := false
Application.CreateForm(Tfrm, frm);
Application.Run;
end.

Kann ich danach die Mainform irgendwann wieder showen? Weil das Programm soll nur gehidet starten, aber später wieder sichtbar sein?!

Evian

Alexander 4. Sep 2003 16:01

Re: Frage Hide
 
Mit Application.ShowMainForm := true kannst du es wieder anzeigen lassen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:53 Uhr.

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