Class TSImageBtn (unit SImageBtn) |
Inherits from
TGraphicControl
constructor Create(AOwner: TComponent);
- Public Declarations
--------------------------------------} { TSImageBtn.
destructor Destroy;
OnMouseMove := MouseMove;
procedure MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Paint;
Protected Declarations
procedure CMEnabledChanged(var Message: TMessage);
Message Eventsprocedure TSImageBtn.
procedure CMFontChanged(var Message: TMessage);
procedure CMButtonPressed(var Message: TMessage); message CM_BUTTONPRESSED;procedure TSImageBtn.
procedure CMMouseEnter(var Message: TMessage);
procedure CMMouseLeave(var Message: TMessage);
procedure CMTextChanged(var Message: TMessage);
procedure ImageChanged(Sender: TObject);
Private Methods
procedure SetBriImage(Val : TBitmap);
procedure SetDarkness(Val: Integer);
procedure SetDeepth(Val: TDeepth);
procedure SetImage(Val: TBitmap);
procedure SetShadow(Val: Boolean);
procedure SetSpace(Val: Integer);
procedure SetTrans(Val : TColor);
procedure UpdateShadow;
procedure UpdateTracking;
procedure MeasureXY(var IX, IY, TX, TY : Integer);
property Caption :
property Cursor :
property Deepth : TDeepth
property Enabled :
property FocusedImage : TBitmap
property Font :
property Hint :
property Image : TBitmap
property ParentFont :
property ParentShowHint :
property PopupMenu :
property Shadow : Boolean
property ShadowsDarkness : Integer
property ShowHint :
property ShowMouseFocus : Boolean
property Space : Integer
property TransparentColor : TColor
event OnClick :
property AllowAllUp: Boolean read FAllowAllUp write SetAllowAllUp default False; property GroupIndex: Integer read FGroupIndex write SetGroupIndex default 0; property NumGlyphs: TNumGlyphs read FNumGlyphs write SetNumGlyphs default 1;
event OnDblClick :
event OnDragDrop :
event OnDragOVer :
event OnEndDrag :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
event OnStartDrag :
FBriImage : TBitmap;
FCaptionChanged : Boolean;
FDarkness : Integer;
FDeepth : TDeepth;
FDeepth2 : TDeepth;
FDisabled : TBitmap;
FImage : TBitmap;
FMouseDown : Boolean;
FMouseFocused : Boolean;
FAllowAllUp : Boolean;
FShadow : Boolean;
Private Declarations } // FGroupIndex : Integer; // FLayout : TButtonLayout;
FShowMouseFocus : Boolean;
FSImage : TBitmap;
FSpace : Integer;
FTrans : TColor;
TMPBMP : TBitmap;
constructor Create(AOwner: TComponent);
Public Declarations
--------------------------------------} { TSImageBtn.Create } {--------------------------------------
destructor Destroy;
OnMouseMove := MouseMove;
procedure MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
procedure MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Paint;
Protected Declarations
procedure CMEnabledChanged(var Message: TMessage);
Message Events
procedure TSImageBtn.SetDown(Value: Boolean);
var
NeedInvalidate: Boolean;
begin
if FGroupIndex = 0 then Value := False;
if Value <> FDown then
begin
if FDown and (not FAllowAllUp) then Exit;
FDown := Value;
if Value then
begin
NeedInvalidate := FState <> bsExclusive;
FState := bsExclusive;
if NeedInvalidate then Repaint;
end
else
begin
FState := bsUp;
Repaint;
end;
end;
end;
procedure TSImageBtn.SetGroupIndex(Value: Integer);
begin
if FGroupIndex <> Value then
begin
FGroupIndex := Value;
UpdateExclusive;
end;
end;
procedure TSImageBtn.SetLayout(Value: TButtonLayout);
begin
if FLayout <> Value then
begin
FLayout := Value;
Repaint;
end;
end;
procedure CMFontChanged(var Message: TMessage);
procedure CMButtonPressed(var Message: TMessage); message CM_BUTTONPRESSED;
procedure TSImageBtn.CMButtonPressed(var Message: TMessage);
var
Sender: TSImageBtn;
begin
if Message.WParam = FGroupIndex then
begin
Sender := TSImageBtn(Message.LParam);
if Sender <> Self then
begin
if Sender.Down and FDown then
begin
FDown := False;
FState := bsUp;
Repaint;
end;
FAllowAllUp := Sender.AllowAllUp;
end;
end;
end;
procedure CMMouseEnter(var Message: TMessage);
procedure CMMouseLeave(var Message: TMessage);
procedure CMTextChanged(var Message: TMessage);
procedure ImageChanged(Sender: TObject);
Private Methods
procedure SetBriImage(Val : TBitmap);
procedure SetDarkness(Val: Integer);
procedure SetDeepth(Val: TDeepth);
procedure SetImage(Val: TBitmap);
procedure SetShadow(Val: Boolean);
procedure SetSpace(Val: Integer);
procedure SetTrans(Val : TColor);
procedure UpdateShadow;
procedure UpdateTracking;
procedure MeasureXY(var IX, IY, TX, TY : Integer);
property Caption :
property Cursor :
property Deepth : TDeepth
property Enabled :
property FocusedImage : TBitmap
property Font :
property Hint :
property Image : TBitmap
property ParentFont :
property ParentShowHint :
property PopupMenu :
property Shadow : Boolean
property ShadowsDarkness : Integer
property ShowHint :
property ShowMouseFocus : Boolean
property Space : Integer
property TransparentColor : TColor
event OnClick :
property AllowAllUp: Boolean read FAllowAllUp write SetAllowAllUp default False; property GroupIndex: Integer read FGroupIndex write SetGroupIndex default 0; property NumGlyphs: TNumGlyphs read FNumGlyphs write SetNumGlyphs default 1;
event OnDblClick :
event OnDragDrop :
event OnDragOVer :
event OnEndDrag :
event OnMouseDown :
event OnMouseMove :
event OnMouseUp :
event OnStartDrag :
FBriImage : TBitmap;
FCaptionChanged : Boolean;
FDarkness : Integer;
FDeepth : TDeepth;
FDeepth2 : TDeepth;
FDisabled : TBitmap;
FImage : TBitmap;
FMouseDown : Boolean;
FMouseFocused : Boolean;
FAllowAllUp : Boolean;
FShadow : Boolean;
Private Declarations } // FGroupIndex : Integer; // FLayout : TButtonLayout;
FShowMouseFocus : Boolean;
FSImage : TBitmap;
FSpace : Integer;
FTrans : TColor;
TMPBMP : TBitmap;