下面这段delphi写的,谁可以改成C++的
zyzdy 2003-09-18 03:02:45 {TScrollButton}
TScrollButtonKind=(sbbHorzLeft,sbbHorzRight,sbbVertUp,sbbVertDown);
TScrollThread=class;
TScrollButton=class(TGraphicControl)
private
{private declarations}
FKind:TScrollButtonKind;
FFlat:Boolean;
FTransParent:Boolean;
FDrawState:TDrawState;
FDown:Boolean;
FOnScrolling:TNotifyEvent;
FReDraw:Boolean;
FScrollThread:TScrollThread;
procedure SetKind(Value:TScrollButtonKind);
procedure SetFlat(Value:Boolean);
procedure SetTransParent(Value:Boolean);
procedure DrawClient;
procedure CMVisibleChanged(var Message: TMessage); message CM_VISIBLECHANGED;
// procedure OnTimer(Sender:TObject);
protected
{protected declarations}
procedure Paint;override;
procedure Click; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure Scrolling;virtual;
public
{public declarations}
constructor Create(AOwner:TComponent);override;
destructor Destroy;override;
published
{published declarations}
//********************************
//Custom Propertys or Events.
property Kind:TScrollButtonKind read FKind
write SetKind Default sbbHorzLeft;
property Flat:Boolean read FFlat write SetFlat default true;
property TransParent:Boolean read FTransParent write SetTransParent default false;
property OnScrolling:TNotifyEvent read FOnScrolling write FOnScrolling;
//************************************
property Enabled;
property Color;
property Visible;
property ParentColor;
property ShowHint;
property Hint;
property ParentShowHint;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnStartDock;
property OnStartDrag;
end;
{TScrollThread}
TScrollThread=class(TThread)
protected
constructor Create(ScrollButton:TScrollButton);
procedure Execute;override;
private
FScrollButton:TScrollButton;
end;