Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form aus Symbolleiste verbannen (https://www.delphipraxis.net/93203-form-aus-symbolleiste-verbannen.html)

sebjensen 2. Jun 2007 07:27


Form aus Symbolleiste verbannen
 
Hallo.

Ich habe ein kleines Tool geschrieben, dass sich per TTrayIcon auch in der kleinen Statusleiste neben der Uhr verewigt hat. Das funktioniert so weit auch super.

Wenn ich jetzt meine Form jedoch minimiere, möchte ich gerne, dass diese dann auch aus der Taskleiste verschwindet und nach einem Doppelklick auf das TrayIcon wieder sichtbar wird.

Ist das irgendwie möglich?

Dankeschön.

alzaimar 2. Jun 2007 07:29

Re: Form aus Symbolleiste verbannen
 
Probiers mal mit:
Delphi-Quellcode:
Application.ShowMainForm := False
Das sollte das Formular von der Taskbar verbannen.

sebjensen 2. Jun 2007 07:32

Re: Form aus Symbolleiste verbannen
 
Zitat:

Zitat von alzaimar
Probiers mal mit:
Delphi-Quellcode:
Application.ShowMainForm := False
Das sollte das Formular von der Taskbar verbannen.


Und wann muss ich das Aufrufen?
Habe mir erstmal einen neuen Button generiert mit genau dieser Aktion, aber leider passiert dort gar nichts, wenn ich den betätige. Woran kann das liegen?

bitsetter 2. Jun 2007 08:06

Re: Form aus Symbolleiste verbannen
 
Hi,

in der Code-Lib findet man Code dazu, wo sich das Fenster so verhält wie du es vor hast.
Programm in der TNA ablegen
Dazu wird bei dem Code die Nachricht WM_SYSCOMMAND und dort dann SC_MINIMIZE abgefangen und dann das Fenster versteckt.

sebjensen 2. Jun 2007 08:12

Re: Form aus Symbolleiste verbannen
 
Hi.

Ich komme damit irgendwie nicht klar. Muss ich diese einzelnen Funktionen und Prozeduren in mein Projekt kopieren oder binde ich das ein?

Ich habe das nun reinkopiert und bekomme dann 23 Fehler, weil Delphi die ganzen Sachen nicht kennt...

bitsetter 2. Jun 2007 08:22

Re: Form aus Symbolleiste verbannen
 
Das wäre das wichtigste:
Delphi-Quellcode:
  private
    procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses ShellApi;

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin
  // Fenster wurde minimiert
  if Message.CmdType and $FFF0 = SC_MINIMIZE then
  begin
    Hide;//Fenster verstecken
    // Icon in der TNA anzeigen
    Shell_NotifyIcon(NIM_ADD, @IconData);
  end
  else
    inherited;
end;

sebjensen 2. Jun 2007 08:30

Re: Form aus Symbolleiste verbannen
 
Hallo.

Jetzt tut er sich noch bei @IconData schwer. Muss ich das irgendwie noch angeben?

bitsetter 2. Jun 2007 08:33

Re: Form aus Symbolleiste verbannen
 
Zeige mal ein bisschen Code, @IconData ist den Icon in der TNA.

EDIT:
Delphi-Quellcode:
IconData: TNotifyIconData;

sebjensen 2. Jun 2007 08:35

Re: Form aus Symbolleiste verbannen
 
Zitat:

Zitat von bitsetter
Zeige mal ein Bisschen Code, @IconData ist den Icon in der TNA.

Wieso Code? Ich habe doch einfach nur deinen angegebenen Code übernommen.

bitsetter 2. Jun 2007 08:39

Re: Form aus Symbolleiste verbannen
 
hast du die
Delphi-Quellcode:
uses ShellApi;
eingebunden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz