hat schon mal jemand außer mir versucht die TTrayicon Componente um ein OnMouseWheelUp / Down zu erweitern ?
Ich hab das versucht und bin gescheitert

Code: Alles auswählen
Unit uMyTrayIcon;
{$MODE ObjFPC}{$H+}
Interface
Uses
Classes, SysUtils, ExtCtrls, LMessages;
Type
{ TMyTrayIcon }
TMyTrayIcon = Class(TTrayIcon)
private
protected
Procedure WMMouseWheel(Var Message: TLMMouseEvent); message LM_MOUSEWHEEL;
Procedure WMMouseHWheel(Var Message: TLMMouseEvent); message LM_MOUSEHWHEEL;
public
End;
Implementation
Procedure Nop();
Begin
End;
{ TMyTrayIcon }
Procedure TMyTrayIcon.WMMouseWheel(Var Message: TLMMouseEvent);
Begin
Nop();
Message.Result := 1;
End;
Procedure TMyTrayIcon.WMMouseHWheel(Var Message: TLMMouseEvent);
Begin
Nop();
Message.Result := 1;
End;
End.

Code: Alles auswählen
Unit Unit1;
{$MODE objfpc}{$H+}
Interface
Uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Menus,
uMyTrayIcon, Types;
Type
{ TForm1 }
TForm1 = Class(TForm)
MenuItem1: TMenuItem;
PopupMenu1: TPopupMenu;
Procedure FormCreate(Sender: TObject);
procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
Procedure MenuItem1Click(Sender: TObject);
Procedure TrayIcon1DblClick(Sender: TObject);
private
TrayIcon1: TMyTrayIcon;
public
End;
Var
Form1: TForm1;
Implementation
{$R *.lfm}
{ TForm1 }
Procedure TForm1.FormCreate(Sender: TObject);
Begin
TrayIcon1 := TMyTrayIcon.Create(self);
TrayIcon1.Show;
TrayIcon1.PopUpMenu := PopupMenu1;
TrayIcon1.OnDblClick := @TrayIcon1DblClick;
End;
procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState;
MousePos: TPoint; var Handled: Boolean);
begin
end;
Procedure TForm1.MenuItem1Click(Sender: TObject);
Begin
Close;
End;
Procedure TForm1.TrayIcon1DblClick(Sender: TObject);
Begin
Showmessage('Doppelklick');
End;
End.