Hmmm...
Auch wenn es Spät kommt und sicher schon gelöst ist, wäre es doch interessant es für die Nachwelt festzuhalten.
Ich hab vorkurzen selbes Problem gehabt das er eben nicht auf die Ereignisse reagiert.
Habe die Klasse von TWinControl abgeleitet.
Delphi-Quellcode:
type
TTrayNotification = class(TWinControl)
private
{ Private declarations }
TrayData : TNOTIFYICONDATA;
TrayForm : TForm;
Procedure WMTASKBAREVENT(Var Message: TMessage); Message WM_TASKBAREVENT;
protected
{ Protected declarations }
public
{ Public declarations }
Constructor create(aForm: TForm);
...
Constructor TTrayNotification.Create(aForm: TForm);
Begin
TrayForm := aForm;
Inherited Create(TrayForm);
Self.Parent := TrayForm;
End;
Delphi-Quellcode:
TrayData.Wnd := Self.Handle;
TrayData.uCallbackMessage := WM_TASKBAREVENT;
Damit hat es bei mir dann geklappt, muss allerdings zugeben auch nnicht ohne Hilfe.
Mein helfer hatte da recht gut mit mir zu kämpfen
Ich habe die Klasse mittlerweile so erweitert das auch die neuen ToolTips angezeigt werden, je nach Version der Shell32.DLL und komme ohne ShellApi.Pas aus.