Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Wie bekomm ich mein Progi in ... (https://www.delphipraxis.net/5286-wie-bekomm-ich-mein-progi.html)

citybreaker 31. Mai 2003 10:30


Wie bekomm ich mein Progi in ...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Wie bekomm ich mein Programm in die
Taskleiste von nur die Icons sind?
Öhm für die die nicht wissen was ich meine
ich hab nen Anhang mit nem Bild.

sakura 31. Mai 2003 10:33

Suche mal im Forum nach "Tray Icon" bzw. nach "TNA", da wirst Du fündig.

...:cat:...

Stanlay Hanks 31. Mai 2003 11:24

Torry -> Schnellsuche -> CoolTrayIcon
Das hatten wir schon 100fach :wink:

flomei 31. Mai 2003 13:37

Oder JediVCL. Da ist auch so eine Komponente bei.

MfG Florian :hi:

Hugoface 16. Jul 2003 10:29

Re: Wie bekomm ich mein Progi in ...
 
bin gerade am kämpfen... mit cooltrayicon funktioniert das alles schon... nur hätte ich es gern noch so, dass die anwendung NUR im tray zu sehen ist und nicht in der taskleiste...

das geht mit cooltrayicon nicht, oder?

danke für antworten

hugo

Chewie 16. Jul 2003 10:39

Re: Wie bekomm ich mein Progi in ...
 
Keine Ahnung, ob es mit CoolTrayIcon geht, aer so geht es:
Delphi-Quellcode:
ShowWindow(Application.Handle, SW_HIDE);

Tim.exe 16. Jul 2003 10:41

Re: Wie bekomm ich mein Progi in ...
 
Besorg dir mal "TrayIcon", die ist besser als "CoolTrayIcon".

Alexander 16. Jul 2003 11:22

Re: Wie bekomm ich mein Progi in ...
 
man brauch aber eigentlich keine Komponente, das kann man eigentlich auch relativ schnell selbst machen
Ihr könnt ja mal nach WM_TASKBAREVENT usw. kucken.
Oder hier auf der DP einfach suchen

Dagon 16. Jul 2003 11:42

Re: Wie bekomm ich mein Progi in ...
 
Mit folgendem Code gehts auch:

Delphi-Quellcode:

const WM_TASKBAREVENT = WM_USER+1;
...
  public
    { Public-Deklarationen }
     procedure WMTASKBAREVENT(var message: TMessage); message    WM_TASKBAREVENT;
end;
...
uses ShellAPI;
...

procedure TForm1.WMTASKBAREVENT(var message: TMessage);
var point : TPoint;
begin
    case message.LParamLo of
         WM_LBUTTONDBLCLK : begin
                                 form1.show;
                            end;
    end;
end;


procedure TaskBarAddIcon;
var tnid : TNOTIFYICONDATA ;
begin
    tnid.cbSize := sizeof(TNOTIFYICONDATA); // Größenangabe der Struktur
    tnid.Wnd := Form1.handle;              // Handle des Message-Empfängers
    tnid.uID := 1;                         // ID beliebig
    tnid.uFlags := NIF_MESSAGE or NIF_ICON or NIF_TIP; // siehe Tabelle
    tnid.uCallbackMessage := WM_TASKBAREVENT;       // Message# für Form1
    tnid.hIcon := form1.image1.picture.icon.handle; // Iconhandle
    strcopy(tnid.szTip,'Programmname');               // Tooltiptext
    Shell_NotifyIcon(NIM_ADD, @tnid);               // Registrieren ...
end;

procedure TaskBarRemoveIcon;
var tnid : TNOTIFYICONDATA ;
begin
    tnid.cbSize := sizeof(TNOTIFYICONDATA);
    tnid.Wnd := Form1.handle;
    tnid.uID := 1;
    Shell_NotifyIcon(NIM_DELETE, @tnid);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  TaskBarAddIcon;
 
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  TaskBarRemoveIcon;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  self.Hide;
end;

Alexander 16. Jul 2003 11:51

Re: Wie bekomm ich mein Progi in ...
 
Jupp und wenn man statt Shell_NotifyIcon(NIM_ADD, @tnid); Shell_NotifyIcon(NIM_MODIFY, @tnid); schreibt sollte man das Icon, den Tooltip etc auch noch verändern können.
Siehe PSDK

MathiasSimmack 16. Jul 2003 12:08

Re: Wie bekomm ich mein Progi in ...
 
Nicht sollte, alex - man kann. Nur muss das TNA-Icon natürlich zuerst einmal mit NIM_ADD erstellt werden.

Alexander 16. Jul 2003 12:37

Re: Wie bekomm ich mein Progi in ...
 
Das es vorher erstellt werden muss, ist klar.

Yheeky 16. Jul 2003 13:37

Re: Wie bekomm ich mein Progi in ...
 
Doch, geht mit CoolTrayIcon auch. Musst einfach nur "MinimizeToTray" auf True setzen.

Gruß Yheeky

Illuminator-23-5 16. Jul 2003 13:47

Re: Wie bekomm ich mein Progi in ...
 
im fall kann man mit der cooltrayicon-komponente auch nur das taskbaricon verstecken (TCoolTrayIcon.HideTaskBarIcon oder so)!!

MathiasSimmack 16. Jul 2003 14:09

Re: Wie bekomm ich mein Progi in ...
 
Zitat:

Zitat von alexander
Das es vorher erstellt werden muss, ist klat.

Für dich und mich ist das klar. Aber wenn das einer liest, der sich vorher noch nicht damit beschäftigt hat:
Zitat:

Jupp und wenn man statt Shell_NotifyIcon(NIM_ADD, @tnid); Shell_NotifyIcon(NIM_MODIFY, @tnid); schreibt sollte man das Icon, den Tooltip etc auch noch verändern können.
der denkt möglicherweise, er muss den Code von the_master bloß ändern. Und die Moral von der G´schicht´: Missverständnisse vermeiden. :)

Gruß.

Alexander 16. Jul 2003 14:36

Re: Wie bekomm ich mein Progi in ...
 
mhm naja gut...werde es beim nächsten Mal noch mit dazu schreiben. Hast wohl recht...
Aber es wäre ja auch unlogisch...nun gut lassen wir das....


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:40 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