Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Delphi-Cooltrayicon Minimierungsproblem (https://www.delphipraxis.net/28930-delphi-cooltrayicon-minimierungsproblem.html)

SebastianWe 1. Sep 2004 12:45


Delphi-Cooltrayicon Minimierungsproblem
 
Hi,

ich benutze Cooltrayicon um mein Programm wenn ich auf minimieren klicken aus der Programmleiste verschwinden zu lassen und somit nur noch in der Symbolleiste erscheint. Ich habe als action OnClick gewählt um das Programm wieder erscheinen zu lassen:
Delphi-Quellcode:
procedure TForm1.CoolTrayIcon1Click(Sender: TObject);
begin
show;
end;
Allerdings funktioniert das minimieren nur einmal, wenn ich es wieder über OnClick aufpoppen lasse ist der Minimierungsbutton praktisch ohne Funktion. Was muss ich anders machen???

THX

alcaeus 1. Sep 2004 12:48

Re: Delphi-Cooltrayicon Minimierungsproblem
 
Hi SebastianWE,

versuchs mal mit
Delphi-Quellcode:
CoolTrayIcon.HideMainForm
das Form zu verstecken und mit
Delphi-Quellcode:
CoolTrayIcon.ShowMainForm
es wieder anzuzeigen. Bei mir klappt dies ohne Probleme.

Greetz
alcaeus

SebastianWe 1. Sep 2004 12:57

Re: Delphi-Cooltrayicon Minimierungsproblem
 
Aber wie mach ich das mit dem Hide-MainForm? Ich hab da nämlich gar nichts eingestellt und lasse es nur über den normalen Minimierungsbutton ablaufen. Wo kann ich die Aktion denn da einstellen?

alcaeus 1. Sep 2004 13:00

Re: Delphi-Cooltrayicon Minimierungsproblem
 
Hi SebastianWE,

Dann gib eine ApplicationEvents-Komponente auf das Form und verwende dann das Ereignis "OnMinimize".
alternativ kannst du anstatt Show auch Application.Restore verwenden, damit solltest du auch gute Ergebnisse erzielen können.

Greetz
alcaeus

PS: Wenn du HideMainForm verwendest so verschwindet auch der Button in der Taskleiste.

SebastianWe 1. Sep 2004 13:21

Re: Delphi-Cooltrayicon Minimierungsproblem
 
danke, mit dem Befehl Application.Restor; anstatt show; hat es funktioniert!

MaBuSE 1. Sep 2004 13:42

Re: Delphi-Cooltrayicon Minimierungsproblem
 
Zitat:

Zitat von SebastianWe
danke, mit dem Befehl Application.Restor; anstatt show; hat es funktioniert!

Herzlich Willkommen bei der DP.

Die Lösung von Alcaeus ist besser als TApplication.Restor oder TForm.Show .

Vorgehensweise (am Beispiel Delphi 7):
  • Neue Applikation erzeugen (Menü -> Datei -> Neu -> Anwendung)
  • Tray Icon Komponente auf Formular legen
  • Im Objektinspektor auf Ereignisse gehen und das OnClick Ereignis der CoolTrayIcon1 doppelklicken
  • "CoolTrayIcon1.ShowMainForm;" und "CoolTrayIcon1.IconVisible := False;" einfügen
  • Entweder in das onCreate Ereignis des Formulars die 2 Zeilen aus demBeispiel unten einfügen oder im Objektinspektor die Eigenschaften direkt der CoolTrayIcon Komponente zuweisen.
  • Fertig
Das ist gar nicht schweer :mrgreen:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, CoolTrayIcon;

type
  TForm1 = class(TForm)
    CoolTrayIcon1: TCoolTrayIcon;
    procedure CoolTrayIcon1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CoolTrayIcon1Click(Sender: TObject);
begin
  // Formular (Applicarion) sichtbar machen
  CoolTrayIcon1.ShowMainForm;

  // und Tray Icon unsichtbar machen
  CoolTrayIcon1.IconVisible := False;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Tray Icon erst mal nicht sichtbar
  CoolTrayIcon1.IconVisible := False;

  // Wenn minimieren, dann Tray Icon sichtbar und Form in Taskbar unsichtbar
  CoolTrayIcon1.MinimizeToTray := True;
end;

end.


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