AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fenster minimieren & CoolTrayIcon??

Ein Thema von Piro · begonnen am 23. Nov 2004 · letzter Beitrag vom 21. Mai 2005
Antwort Antwort
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#1

Fenster minimieren & CoolTrayIcon??

  Alt 23. Nov 2004, 16:56
Moin ich habe mir gerade das CoolTrayIcon Tutorial durchgelesen und alles eingepflegt.

Wenn sich meine Applikation minimiert, erscheint das Icon in TNA. Ich möchte gerne, beim Eregnis von Minimieren, dass das Programm aus der Taskleiste verschwindet und nur noch das Icon in der TNA bleibt.

Ansich ist es nicht schwierig aber ich kann das Event Minimieren nicht abfangen bzw. mit ApplicationEvents wird erst ausgelöst wenn man auf das minimierte Programm klickt.

Also mein Tool soll sofort nach dem Betätigen des Minimierbutton verschwinden ("form1.hide"). Wie geht das?

Danke im Voraus?

Sven
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#2

Re: Fenster minimieren & CoolTrayIcon??

  Alt 23. Nov 2004, 17:02
Hi,

Du musst auf die Ereignisse OnMinimizeToTray und z.B. OnDoubleClick reagieren
Delphi-Quellcode:
MyCoolTrayIcon : TCoolTrayIcon;
...
procedure TForm1.CTIMinimizeToTray(Sender: TObject);
//TCoolTrayIcon.OnMinimizeToTray - Eventhandler
begin
  MyCoolTrayIcon.HideMainForm;
end;

procedure TForm1.CTIDblClick(Sender: TObject);
//TCoolTrayIcon.OnDoubleClick - Eventhandler
//Event, durch das die MainForm wieder angezeigt wird
begin
  MyCoolTrayIcon.ShowMainForm;
end;
//edit: CoolTrayIcon.MinimizeToTray muss True sein

Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#3

Re: Fenster minimieren & CoolTrayIcon??

  Alt 23. Nov 2004, 17:12
Zitat von daywalker299:
Also mein Tool soll sofort nach dem Betätigen des Minimierbutton verschwinden ("form1.hide"). Wie geht das?
Falls dich das Thema auch mal interessieren sollte ohne CoolTrayIcon, dann musst du die Windows Nachrichten SC_MINIMIZE von TApplication und von deiner TForm abfangen. Das könnte dann z.B. so aussehen:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure OnAppMessage(var Msg: TMsg; var Handled: Boolean);
    procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
    procedure MinimizeBtnClick;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{--------------------------------------------------------------------------------------------------}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := OnAppMessage;
end;

{--------------------------------------------------------------------------------------------------}

procedure TForm1.OnAppMessage(var Msg: TMsg; var Handled: Boolean);
begin

  if (Msg.message = WM_SYSCOMMAND) and (Msg.wParam = SC_MINIMIZE) then
  begin
    MinimizeBtnClick;
    Handled := True;
  end else
    Handled := False;

end;

{--------------------------------------------------------------------------------------------------}

procedure TForm1.WMSysCommand(var Message: TWMSysCommand);
begin

  if (Message.CmdType = SC_MINIMIZE) then
    MinimizeBtnClick
  else
    inherited;

end;

{--------------------------------------------------------------------------------------------------}

procedure TForm1.MinimizeBtnClick;
begin
  ShowMessage('Der Benutzer möchte das Fenster minimieren.');
end;

{--------------------------------------------------------------------------------------------------}

end.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat
Benutzerbild von Piro
Piro

Registriert seit: 14. Jul 2003
Ort: Flintbek
810 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Fenster minimieren & CoolTrayIcon??

  Alt 23. Nov 2004, 17:26
Danke so hatte ich das auch berst aber es ging nicht.

Jetzt funktioniert es. Der Grund war, dass ich die CoolIcon Komponente in ein Datamodule gepackt hatte. Jetzt liegt so auf der Hauptform und es funzt.

Dabke nochmal für eure Antworent.
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#5

Re: Fenster minimieren & CoolTrayIcon??

  Alt 21. Mai 2005, 06:14
Endlich mal Code, der auf Anhieb funktioniert!
Aber jetzt minimiert er nicht mehr, wenn ich auf minimieren drücke. Wie geht's denn da weiter?
Achim
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr.
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