const
{$IFDEF PAIDVERS}
SDLVersionInfo = 'marksel_r1210_full';
IsLightEd = false;
{$ELSE}
SDLVersionInfo = 'marksel_r1210_lighted';
IsLightEd = true;
{$ENDIF}
Release = 1210;
type
TMarkClickEvent = procedure (Sender: TObject; X, Y: integer;
Mark: integer) of object;
{$IFDEF GE_LEV29}
[ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidWin64x)]
{$ENDIF}
TMarkSel = class(TGraphicControl)
private
FMarkVis : array[0..MaxCanvasMarks] of boolean;
FMarkCoords : array[0..MaxCanvasMarks, 1..2] of integer;
FColorBG : TColor;
FColorFG : TColor;
FColorSelFG : TColor;
FColorSelBG : TColor;
FSelected : integer;
FFrameStyle : TFrameStyle;
FLastHiLite : integer;
FColorHiLite : TColor;
FColorHiSymb : TColor;
FNrCols : integer;
FNrRows : integer;
FEnabled : boolean;
FZeroAsCross : boolean;
FMarkMarginHorz : integer;
FMarkMarginVert : integer;
FMarkDistHorz : integer;
FMarkDistVert : integer;
FOnMarkClick : TMarkClickEvent;
FOnMarkDblClick : TMarkClickEvent;
FOnPaint : TNotifyEvent;
function GetVis (ix: integer): boolean;
procedure SetVis (ix: integer; Value: boolean);
procedure SetNrCols (Value: integer);
procedure SetNrRows (Value: integer);
procedure SetSelected (Value: integer);
procedure SetColorBG (Value: TColor);
procedure SetColorFG (Value: TColor);
procedure SetColorSelBG (Value: TColor);
procedure SetColorSelFG (Value: TColor);
procedure SetColorHilite (Value: TColor);
procedure SetColorHiSymb (Value: TColor);
procedure SetEnabled (value: boolean);
procedure SetZeroAsCross (value: boolean);
procedure SetFrameStyle (value: TFrameStyle);
procedure ResetLastHiLite;
procedure HiLite (ix: integer);
procedure WMMarkClick (var Msg: TWMMouse);
message WM_LBUTTONUP;
procedure WMMarkDblClick (var Msg: TWMMouse);
message WM_LBUTTONDBLCLK;
protected
procedure Paint; override;
procedure MouseMove (Shift: TShiftState;
X,Y: integer); override;
procedure DrawMarks (var bmp: TBitMap);
public
constructor Create(AOwner: TComponent); override;
property MarkVisible[ix: integer]: boolean
read GetVis write SetVis;
procedure HideAllMarks;
procedure ShowAllMarks;
published
property Align;
property ParentShowHint;
property ShowHint;
property Visible;
property NrOfColumns: integer read FNrCols write SetNrCols;
property NrOfRows: integer read FNrRows write SetNrRows;
property ColorBackGnd: TColor read FColorBG write SetColorBG;
property ColorMarks: TColor read FColorFG write SetColorFG;
property ColorHiLiteBG : TColor
read FColorHilite write SetColorHilite;
property ColorHiLiteSymbol: TColor
read FColorHiSymb write SetColorHiSymb;
property ColorSelBG: TColor
read FColorSelBG write SetColorSelBG;
property ColorSelFG: TColor
read FColorSelFG write SetColorSelFG;
property Enabled read FEnabled write SetEnabled;
property FrameStyle: TFrameStyle
read FFrameStyle write SetFrameStyle;
property Selected: integer read FSelected write SetSelected;
property ShowZeroAsCross: boolean
read FZeroAsCross write SetZeroAsCross;
{$IFDEF GE_LEV17}
(**) property StyleElements;
{$ENDIF}
property OnClick;
property OnDblClick;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnMarkClick: TMarkClickEvent
read FOnMarkClick write FOnMarkClick;
property OnMarkDblClick: TMarkClickEvent
read FOnMarkDblClick write FOnMarkDblClick;
property OnPaint: TNotifyEvent read FOnPaint write FOnPaint;
end;
|