Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi prog zum systemtray minimieren (https://www.delphipraxis.net/23413-prog-zum-systemtray-minimieren.html)

Steve 3. Jun 2004 13:53

Re: prog zum systemtray minimieren
 
Weiß nicht, ob Dir das weiterhilft, aber um fremde Programme/Fenster zu 'verstecken', gibts von Alexander den Taskbar-Button Manager..

glkgereon 3. Jun 2004 14:12

Re: prog zum systemtray minimieren
 
sieht nit schlecht aus
kann ich sagen immer wenn ein prog gestartet wird, soll er es verstecken???

Steve 3. Jun 2004 14:35

Re: prog zum systemtray minimieren
 
Glaub nicht, dass es (momentan) geht, musst aber Alexander fragen, der hat's gschrieben :zwinker:

Gruß
Stephan

MCeddy 3. Jun 2004 15:48

Re: prog zum systemtray minimieren
 
Hallo. Ich nehme dazu immer die Komponente CoolTrayIcon. Lässt sich einfach bedienen. Schau dir einfach mal die mitgelieferten Demos an, wenn du fragen zum Einbau in dein Projekt hast, dann ich dir ja helfen.

Zitat:

Zitat von glkbkk
also, um weitere unnütze disskussionen zu vermeiden:

ich hab xampp
das hat eine "eingabeaufforderung" die dableiben MUSS
da mich das fenster nervt wollte ich ein progg schreiben, das xampp "verwaltet", also button für cient schliessen, xampp starten und beenden und so

Genau daselbe hab ich auch gemacht. Wie gesagt mit CoolTrayIcon und habe Apache und MySQL als Dienste laufen. Das Programm sitzt bei mir unten im SystemTray und dort seh ich anhand der Icons, ob der Server an oder aus ist (Rot = aus und Grün = an) :wink: Wenn ich doppelt auf das Icon klicke dann öffnet sich mein Programm und ich kann den Server starten und auch beenden...

mfg

MCeddy02
:dp:

glkgereon 3. Jun 2004 17:58

Re: prog zum systemtray minimieren
 
genau das!!! :thuimb:

also cooltrayicon...

is das bei d7 dabei?

glkgereon 3. Jun 2004 19:20

Re: prog zum systemtray minimieren
 
war nicht dabei, habs problemnlos ( :thuimb: ) installiert

und es funzt!!!

nur das mit dem in FormCreate schon minimizen funzt (noch) nit

MCeddy 3. Jun 2004 23:47

Re: prog zum systemtray minimieren
 
Zitat:

Zitat von glkbkk
nur das mit dem in FormCreate schon minimizen funzt (noch) nit

Wie meinst du das?

Minimieren in System Tray:
Code:
Application.Minimize;
CoolTrayIcon1.HideMainForm;
CoolTrayIcon1.IconVisible := true;
Fenster wieder anzeigen:
Code:
CoolTrayIcon1.ShowMainForm;
CoolTrayIcon1.IconVisible := false;

asdfg 10. Okt 2005 20:23

Re: prog zum systemtray minimieren
 
Gibt es eine Komponente, um TrayIcons auch mit Delphi 2005 verwenden zu können

A-M-X 11. Okt 2005 13:42

Re: prog zum systemtray minimieren
 
Hab mir nun nich den ganzen topic durchgelesen aber das sollte dir vllt helfen:

Es wird die Komponente TApplicationEvent (Komponentenseite Zusätzlich) benötigt und ihr ein OnMinimize-Ereignis zugeordnet.

Die komplette Unit des Hauptfensters sieht anschließend so aus:


Delphi-Quellcode:
unit Unit1;

interface

uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellApi, AppEvnts;

const
  IC_CLICK = WM_APP + 201;

type
  TForm1 = class(TForm)
    ApplicationEvents1: TApplicationEvents;
    procedure ApplicationEvents1Minimize(Sender: TObject);
    private
      { Private-Deklarationen }
      procedure Systray(var sMsg: TMessage); message IC_CLICK;
    public
      { Public-Deklarationen }
    end;

var
  Form1: TForm1;
  NIM : TNotifyIconData;

implementation

{$R *.DFM}

procedure TForm1.Systray(var sMsg: TMessage);
begin
  // Vorgang: Klick auf das Icon neben der Uhr und Anzeige der Anwendung
  inherited;
  if (sMsg.LParam = WM_LBUTTONDOWN) then begin
    Show;
    Shell_NotifyIcon(NIM_DELETE, @NIM);
    Application.Restore; //zeigt die Anwendung wieder an
  end;
end;

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  //Vorgang: Minimieren der Anwendung, Entfernung des Taskleisteneintrags
  //und Hinzufügen des Programmicons neben der Uhr
  Form1.FormStyle:=fsStayOnTop;
  Hide;
  with NIM do begin
    cbSize := SizeOf (nIM);
    Wnd := Handle;
    uID := 0;
    uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
    uCallbackMessage := IC_CLICK;
    hIcon := Application.Icon.Handle;
    szTip := 'Test-Programm'; //Hier kommt der Hint beim Mouseover im Systray
  end;
  Shell_NotifyIcon(NIM_ADD, @NIM);
end;

end.

asdfg 11. Okt 2005 18:15

Re: prog zum systemtray minimieren
 
Vielen Dank für die schnelle Antwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:23 Uhr.
Seite 2 von 3     12 3      

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