Einzelnen Beitrag anzeigen

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, 16: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