Unit Mscrlbox;

{
  Freeware New Scrollbox VCL
  Adds two new events, OnScrollHorz & OnScrollVert
  Uploaded [to compuserve] by Author : Matthew Rhoades [a.k.a. Eddy Web]
 
  P.S. You can probably get rid of some of these 'Uses' that are included...
  I just haven't had the time to try myself...
}

interface

uses SysUtils, WinTypes, WinProcs, Messages, Classes,
     Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls;

type
  TNewScrlBox = class(TScrollBox)
  private
    fOnScrollHorz:TNotifyEvent;
    fOnScrollVert:TNotifyEvent;
    procedure WMHScroll(var Msg: TWMHScroll); message wm_HScroll;
    procedure WMVScroll(var Msg: TWMHScroll); message wm_VScroll;
  protected
    procedure ScrollHorz; dynamic;
    procedure ScrollVert; dynamic;
  public
    constructor Create(AOwner : TComponent); override;
  published
    property OnScrollHorz: TNotifyEvent
    read fOnScrollHorz write fOnScrollHorz;
    property OnScrollVert: TNotifyEvent
    read fOnScrollVert write fOnScrollVert;
   end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Additional',[TNewScrlBox]);
end;

procedure TNewScrlBox.ScrollVert;
Begin
   If Assigned(fOnScrollVert) Then
   Begin
      fOnScrollVert(Self);
   End;
End;

procedure TNewScrlBox.ScrollHorz;
Begin
   If Assigned(fOnScrollHorz) Then
   Begin
      fOnScrollHorz(Self);
   End;
End;
 

procedure TNewScrlBox.WMHScroll(var Msg: TWMHScroll);
Begin
     Inherited;
     ScrollHorz;
End;

procedure TNewScrlBox.WMVScroll(var Msg: TWMVScroll);
Begin
    Inherited;
    ScrollVert;
End;

constructor TNewScrlBox.Create(AOwner:TComponent);
begin
   inherited Create(AOwner);
end;

end.