Всем добрейший!
Есть компонент - JvThumbView. У него не работает прокрутка мышью.
Пытаюсь написать компонент-наследник и перекрыть события MouseWheelDown и MouseWheelUp, но это не срабатывает.
Вот что я написал, но чувствую что не правильно т.к. делаю это в первый раз:
Код:
unit MyThumbView;
interface
uses
{$IFDEF UNITVERSIONING}
JclUnitVersioning,
{$ENDIF UNITVERSIONING}
Windows, // TWin32FindData
{$IFDEF HAS_UNIT_LIBC}
Libc, // stat()
{$ENDIF HAS_UNIT_LIBC}
SysUtils, Messages, Classes, Graphics, Controls, Forms, ExtCtrls,
JclBase,
JvExForms, JvExExtCtrls, JvBaseThumbnail, JvThumbViews;
type
TMyThumbView = class(TJvThumbView)
private
{ Private declarations }
FOnMouseWheelDown: TMouseWheelUpDownEvent;
FOnMouseWheelUp: TMouseWheelUpDownEvent;
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
constructor Create(AOwner: Tcomponent);override;
property OnMouseWheelDown: TMouseWheelUpDownEvent read FOnMouseWheelDown
write FOnMouseWheelDown;
property OnMouseWheelUp: TMouseWheelUpDownEvent read FOnMouseWheelUp write
FOnMouseWheelUp;
function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('My Component', [TMyThumbView]);
end;
constructor TMyThumbView.Create(AOwner: Tcomponent);
begin
inherited create(AOwner);
end;
function TMyThumbView.DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean;
begin
Result := False;
if Assigned(FOnMouseWheelDown) then
FOnMouseWheelDown(Self, Shift, MousePos, Result);
end;
function TMyThumbView.DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean;
begin
Result := False;
if Assigned(FOnMouseWheelUp) then
FOnMouseWheelUp(Self, Shift, MousePos, Result);
end;
end.
Укажите пожалуйста на ошибки. Уже весь мозг себе сломал. Сам не справлюсь.