📄 bsskinboxctrls.pas
字号:
FOnListBoxDblClick: TNotifyEvent;
FOnListBoxMouseDown: TMouseEvent;
FOnListBoxMouseMove: TMouseMoveEvent;
FOnListBoxMouseUp: TMouseEvent;
FOnListBoxKeyDown: TKeyEvent;
FOnListBoxKeyPress: TKeyPressEvent;
FOnListBoxKeyUp: TKeyEvent;
TimerMode: Integer;
WaitMode: Boolean;
function GetOnListBoxDragDrop: TDragDropEvent;
procedure SetOnListBoxDragDrop(Value: TDragDropEvent);
function GetOnListBoxDragOver: TDragOverEvent;
procedure SetOnListBoxDragOver(Value: TDragOverEvent);
function GetOnListBoxStartDrag: TStartDragEvent;
procedure SetOnListBoxStartDrag(Value: TStartDragEvent);
function GetOnListBoxEndDrag: TEndDragEvent;
procedure SetOnListBoxEndDrag(Value: TEndDragEvent);
function GetFullItemWidth(Index: Integer; ACnvs: TCanvas): Integer; virtual;
procedure SetHorizontalExtent(Value: Boolean);
function GetColumns: Integer;
procedure SetColumns(Value: Integer);
procedure SetRowCount(Value: Integer);
procedure SetImages(Value: TCustomImageList);
procedure SetImageIndex(Value: Integer);
procedure SetGlyph(Value: TBitMap);
procedure SetNumGlyphs(Value: TbsSkinPanelNumGlyphs);
procedure SetSpacing(Value: Integer);
procedure StartTimer;
procedure StopTimer;
procedure ButtonDown(I: Integer; X, Y: Integer);
procedure ButtonUp(I: Integer; X, Y: Integer);
procedure ButtonEnter(I: Integer);
procedure ButtonLeave(I: Integer);
procedure DrawButton(Cnvs: TCanvas; i: Integer);
procedure TestActive(X, Y: Integer);
procedure ListBoxMouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); virtual;
procedure ListBoxMouseMove(Shift: TShiftState; X, Y: Integer); virtual;
procedure ListBoxMouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); virtual;
procedure ListBoxClick; virtual;
procedure ListBoxDblClick; virtual;
procedure ListBoxKeyDown(var Key: Word; Shift: TShiftState); virtual;
procedure ListBoxKeyUp(var Key: Word; Shift: TShiftState); virtual;
procedure ListBoxKeyPress(var Key: Char); virtual;
procedure ListBoxEnter; virtual;
procedure ListBoxExit; virtual;
//
procedure ShowScrollBar;
procedure HideScrollBar;
procedure ShowHScrollBar;
procedure HideHScrollBar;
procedure GetSkinData; override;
procedure CalcRects;
procedure SBChange(Sender: TObject);
procedure HSBChange(Sender: TObject);
procedure CreateParams(var Params: TCreateParams); override;
procedure WMSIZE(var Message: TWMSIZE); message WM_SIZE;
procedure WMTimer(var Message: TWMTimer); message WM_Timer;
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
//
procedure DefaultFontChange; override;
procedure OnDefaultCaptionFontChange(Sender: TObject);
procedure SetDefaultCaptionHeight(Value: Integer);
procedure SetDefaultCaptionFont(Value: TFont);
procedure SetDefaultItemHeight(Value: Integer);
procedure SetCaptionMode(Value: Boolean);
procedure SetAlignment(Value: TAlignment);
procedure SetItems(Value: TStrings);
function GetItems: TStrings;
function GetItemIndex: Integer;
procedure SetItemIndex(Value: Integer);
function GetMultiSelect: Boolean;
procedure SetMultiSelect(Value: Boolean);
function GetListBoxFont: TFont;
procedure SetListBoxFont(Value: TFont);
function GetListBoxTabOrder: TTabOrder;
procedure SetListBoxTabOrder(Value: TTabOrder);
function GetListBoxTabStop: Boolean;
procedure SetListBoxTabStop(Value: Boolean);
function GetListBoxDragMode: TDragMode;
procedure SetListBoxDragMode(Value: TDragMode);
function GetListBoxDragKind: TDragKind;
procedure SetListBoxDragKind(Value: TDragKind);
function GetListBoxDragCursor: TCursor;
procedure SetListBoxDragCursor(Value: TCursor);
//
function GetCanvas: TCanvas;
function GetExtandedSelect: Boolean;
procedure SetExtandedSelect(Value: Boolean);
function GetSelCount: Integer;
function GetSelected(Index: Integer): Boolean;
procedure SetSelected(Index: Integer; Value: Boolean);
function GetSorted: Boolean;
procedure SetSorted(Value: Boolean);
function GetTopIndex: Integer;
procedure SetTopIndex(Value: Integer);
function GetListBoxPopupMenu: TPopupMenu;
procedure SetListBoxPopupMenu(Value: TPopupMenu);
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinImage(B: TBitMap); override;
procedure ListBoxWProc(var Message: TMessage; var Handled: Boolean); virtual;
procedure ListBoxCreateWnd; virtual;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
function GetAutoComplete: Boolean;
procedure SetAutoComplete(Value: Boolean);
public
ScrollBar: TbsSkinScrollBar;
HScrollBar: TbsSkinScrollBar;
ListBox: TbsListBox;
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
SItemRect, ActiveItemRect, FocusItemRect: TRect;
ItemLeftOffset, ItemRightOffset: Integer;
ItemTextRect: TRect;
FontColor, ActiveFontColor, FocusFontColor: TColor;
CaptionRect: TRect;
CaptionFontName: String;
CaptionFontStyle: TFontStyles;
CaptionFontHeight: Integer;
CaptionFontColor: TColor;
UpButtonRect, ActiveUpButtonRect, DownUpButtonRect: TRect;
DownButtonRect, ActiveDownButtonRect, DownDownButtonRect: TRect;
CheckButtonRect, ActiveCheckButtonRect, DownCheckButtonRect: TRect;
VScrollBarName, HScrollBarName, BothScrollBarName: String;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ChangeSkinData; override;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
procedure UpDateScrollBar;
function CalcHeight(AItemsCount: Integer): Integer;
//
procedure Clear;
function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer;
function ItemRect(Item: Integer): TRect;
//
property Columns: Integer read GetColumns write SetColumns;
property Selected[Index: Integer]: Boolean read GetSelected write SetSelected;
property ListBoxCanvas: TCanvas read GetCanvas;
property SelCount: Integer read GetSelCount;
property TopIndex: Integer read GetTopIndex write SetTopIndex;
//
property UseSkinItemHeight: Boolean
read FUseSkinItemHeight write FUseSkinItemHeight;
property DefaultCaptionHeight: Integer
read FDefaultCaptionHeight write SetDefaultCaptionHeight;
property DefaultCaptionFont: TFont
read FDefaultCaptionFont write SetDefaultCaptionFont;
property CaptionMode: Boolean read FCaptionMode
write SetCaptionMode;
property Alignment: TAlignment read FAlignment write SetAlignment
default taLeftJustify;
property DefaultItemHeight: Integer read FDefaultItemHeight
write SetDefaultItemHeight;
property Items: TStrings read GetItems write SetItems;
property ItemIndex: Integer read GetItemIndex write SetItemIndex;
property MultiSelect: Boolean read GetMultiSelect write SetMultiSelect;
property ListBoxFont: TFont read GetListBoxFont write SetListBoxFont;
property ListBoxTabOrder: TTabOrder read GetListBoxTabOrder write SetListBoxTabOrder;
property ListBoxTabStop: Boolean read GetListBoxTabStop write SetListBoxTabStop;
property ExtandedSelect: Boolean read GetExtandedSelect write SetExtandedSelect;
property Sorted: Boolean read GetSorted write SetSorted;
property ListBoxPopupMenu: TPopupMenu read GetListBoxPopupMenu write SetListBoxPopupMenu;
property HorizontalExtent: Boolean
read FHorizontalExtent
write SetHorizontalExtent;
property ListBoxDragMode: TDragMode read GetListBoxDragMode write SetListBoxDragMode;
property ListBoxDragKind: TDragKind read GetListBoxDragKind write SetListBoxDragKind;
property ListBoxDragCursor: TCursor read GetListBoxDragCursor write SetListBoxDragCursor;
property AutoComplete: Boolean read GetAutoComplete write SetAutoComplete;
property Caption;
property Font;
property Align;
property DockSite;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property RowCount: Integer read FRowCount write SetRowCount;
property Images: TCustomImageList read FImages write SetImages;
property ImageIndex: Integer read FImageIndex write SetImageIndex;
property Glyph: TBitMap read FGlyph write SetGlyph;
property NumGlyphs: TbsSkinPanelNumGlyphs read FNumGlyphs write SetNumGlyphs;
property Spacing: Integer read FSpacing write SetSpacing;
property OnClick;
property OnUpButtonClick: TNotifyEvent read FOnUpButtonClick
write FOnUpButtonClick;
property OnDownButtonClick: TNotifyEvent read FOnDownButtonClick
write FOnDownButtonClick;
property OnCheckButtonClick: TNotifyEvent read FOnCheckButtonClick
write FOnCheckButtonClick;
property OnCanResize;
property OnConstrainedResize;
property OnDockDrop;
property OnDockOver;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnGetSiteInfo;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;
property OnStartDock;
property OnStartDrag;
property OnUnDock;
property OnListBoxClick: TNotifyEvent read FOnListBoxClick write FOnListBoxClick;
property OnListBoxDblClick: TNotifyEvent read FOnListBoxDblClick write FOnListBoxDblClick;
property OnListBoxMouseDown: TMouseEvent read FOnListBoxMouseDown write
FOnListBoxMouseDown;
property OnListBoxMouseMove: TMouseMoveEvent read FOnListBoxMouseMove
write FOnListBoxMouseMove;
property OnListBoxMouseUp: TMouseEvent read FOnListBoxMouseUp
write FOnListBoxMouseUp;
property OnListBoxKeyDown: TKeyEvent read FOnListBoxKeyDown write FOnListBoxKeyDown;
property OnListBoxKeyPress: TKeyPressEvent read FOnListBoxKeyPress write FOnListBoxKeyPress;
property OnListBoxKeyUp: TKeyEvent read FOnListBoxKeyUp write FOnListBoxKeyUp;
property OnDrawItem: TbsDrawSkinItemEvent read FOnDrawItem write FOnDrawItem;
property OnListBoxDragDrop: TDragDropEvent read GetOnListBoxDragDrop
write SetOnListBoxDragDrop;
property OnListBoxDragOver: TDragOverEvent read GetOnListBoxDragOver
write SetOnListBoxDragOver;
property OnListBoxStartDrag: TStartDragEvent read GetOnListBoxStartDrag
write SetOnListBoxStartDrag;
property OnListBoxEndDrag: TEndDragEvent read GetOnListBoxEndDrag
write SetOnListBoxEndDrag;
end;
TbsSkinListBox = class(TbsSkinCustomListBox)
published
property AutoComplete;
property UseSkinItemHeight;
property HorizontalExtent;
property Columns;
property RowCount;
property Images;
property ImageIndex;
property Glyph;
property NumGlyphs;
property Spacing;
property CaptionMode;
property DefaultCaptionHeight;
property DefaultCaptionFont;
property Alignment;
property DefaultItemHeight;
property Items;
property ItemIndex;
property MultiSelect;
property ListBoxFont;
property ListBoxTabOrder;
property ListBoxTabStop;
property ListBoxDragMode;
property ListBoxDragKind;
property ListBoxDragCursor;
property ExtandedSelect;
property Sorted;
property ListBoxPopupMenu;
//
property Caption;
property Font;
property Align;
property DockSite;
property DragCursor;
property DragKind;
property DragMode;
property Enabled;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property OnClick;
property Visible;
property OnUpButtonClick;
property OnDownButtonClick;
property OnCheckButtonClick;
property OnCanResize;
property OnConstrainedResize;
property OnDockDrop;
property OnDockOver;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDock;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnGetSiteInfo;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize;
property OnStartDock;
property OnStartDrag;
property OnUnDock;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -