Thema: Delphi Taskleiste

Einzelnen Beitrag anzeigen

xavior

Registriert seit: 1. Dez 2003
Ort: Wuppertal
91 Beiträge
 
Delphi 6 Enterprise
 
#1

Taskleiste

  Alt 3. Dez 2003, 20:30
Also ich hab ein kleines Problem ich hab ein Programm, das beim Minimieren des Fensters aus der Taskleiste verschwindet und im SysTray auftauchen soll und durch ein doppelklick im SysTray wieder Maximiert werden soll, das mit dem Minimieren hab ich (mit Hilfe der Code-Library)hingekriegt, aber dem Rest komm ich irgedwie nicht klar !!! Kann mir jemand Helfen

Hier ist der Source:

Delphi-Quellcode:
unit Unit1;

interface

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

const
PM_TRAY = WM_APP + 201;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure PMTray(var sMsg: TMessage); message PM_TRAY;
{ Private-Deklarationen } 
public
{ Public-Deklarationen } 
end;

var
Form1: TForm1;
nIM : TNOTIFYICONDATA;
CONST
hinstExe : HINST = 0;
implementation
Procedure TForm1.PMTray(var sMsg : TMessage);
begin
//was passiert wenn geklickt wird
inherited;
//hier linker Mausbutton
If (sMsg.LParam = WM_LBUTTONDOWN) Then begin
showmessage('HuHu');
end;
end;
{$R *.DFM} 
procedure TForm1.FormCreate(Sender: TObject);
begin
// Structur festlegen
with nIM do begin
cbSize := SizeOf (nIM);
Wnd := Handle;
uID := 0; //ID_ICON
uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
uCallbackMessage := pm_tray;
hIcon := Application.Icon.Handle;
szTip := 'Test'; //hind festlegen
end;
//icon in den systray
Shell_NotifyIcon(NIM_ADD, @nIM);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//icon rausnehmen
Shell_NotifyIcon(NIM_DELETE, @nIM);
end;
end.
  Mit Zitat antworten Zitat