📄 skinboxctrls.pas
字号:
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;
property OnListBoxClick;
property OnListBoxDblClick;
property OnListBoxMouseDown;
property OnListBoxMouseMove;
property OnListBoxMouseUp;
property OnListBoxKeyDown;
property OnListBoxKeyPress;
property OnListBoxKeyUp;
property OnDrawItem;
property OnListBoxDragDrop;
property OnListBoxDragOver;
property OnListBoxStartDrag;
property OnListBoxEndDrag;
end;
TspSkinScrollBox = class(TspSkinCustomControl)
protected
FClicksDisabled: Boolean;
FCanFocused: Boolean;
FInCheckScrollBars: Boolean;
FDown: Boolean;
FVScrollBar: TspSkinScrollBar;
FHScrollBar: TspSkinScrollBar;
FOldVScrollBarPos: Integer;
FOldHScrollBarPos: Integer;
FVSizeOffset: Integer;
FHSizeOffset: Integer;
FBorderStyle: TspSkinBorderStyle;
procedure SetBorderStyle(Value: TspSkinBorderStyle);
procedure SetVScrollBar(Value: TspSkinScrollBar);
procedure SetHScrollBar(Value: TspSkinScrollBar);
procedure VScrollControls(AOffset: Integer);
procedure HScrollControls(AOffset: Integer);
procedure OnHScrollBarChange(Sender: TObject);
procedure OnVScrollBarChange(Sender: TObject);
procedure OnHScrollBarLastChange(Sender: TObject);
procedure OnVScrollBarLastChange(Sender: TObject);
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure WMNCCALCSIZE(var Message: TWMNCCalcSize); message WM_NCCALCSIZE;
procedure WMNCPAINT(var Message: TWMNCPAINT); message WM_NCPAINT;
procedure PaintFrame(C: TCanvas);
procedure WMSize(var Msg: TWMSize); message WM_SIZE;
procedure CreateParams(var Params: TCreateParams); override;
procedure GetSkinData; override;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure ChangeSkinData; override;
procedure AdjustClientRect(var Rect: TRect); override;
procedure CMVisibleChanged(var Message: TMessage); message CM_VISIBLECHANGED;
procedure WMWindowPosChanging(var Message: TWMWindowPosChanging); message WM_WINDOWPOSCHANGING;
procedure WndProc(var Message: TMessage); override;
public
BGPictureIndex: Integer;
procedure HScroll(APosition: Integer);
procedure VScroll(APosition: Integer);
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
procedure Paint; override;
procedure GetHRange;
procedure GetVRange;
procedure UpdateScrollRange;
published
property HScrollBar: TspSkinScrollBar read FHScrollBar
write SetHScrollBar;
property VScrollBar: TspSkinScrollBar read FVScrollBar
write SetVScrollBar;
property BorderStyle: TspSkinBorderStyle
read FBorderStyle write SetBorderStyle;
property CanFocused: Boolean read FCanFocused write FCanFocused;
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 OnCanResize;
property OnClick;
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 OnMouseWheel;
property OnMouseWheelDown;
property OnMouseWheelUp;
end;
TCloseUpEvent = procedure (Sender: TObject; Accept: Boolean) of object;
TPopupAlign = (epaRight, epaLeft);
TspPopupListBox = class(TspSkinListBox)
private
FOldAlphaBlend: Boolean;
FOldAlphaBlendValue: Byte;
procedure WMMouseActivate(var Message: TMessage); message WM_MOUSEACTIVATE;
protected
procedure CreateParams(var Params: TCreateParams); override;
public
constructor Create(AOwner: TComponent); override;
procedure Hide;
procedure Show(Origin: TPoint);
end;
TspCBItem = record
R: TRect;
State: TOwnerDrawState;
end;
TspSkinCustomComboBoxStyle = (spcbEditStyle, spcbFixedStyle);
TspSkinCustomComboBox = class(TspSkinCustomControl)
protected
FUseSkinSize: Boolean;
WasInLB: Boolean;
TimerMode: Integer;
FHideSelection: Boolean;
FLastTime: Cardinal;
FFilter: String;
FAutoComplete: Boolean;
FListBoxAlphaBlend: Boolean;
FListBoxAlphaBlendAnimation: Boolean;
FListBoxAlphaBlendValue: Byte;
FListBoxWidth: Integer;
FStyle: TspSkinCustomComboBoxStyle;
FOnChange: TNotifyEvent;
FOnClick: TNotifyEvent;
FOnCloseUp: TNotifyEvent;
FOnDropDown: TNotifyEvent;
FOnListBoxDrawItem: TspDrawSkinItemEvent;
FOnComboBoxDrawItem: TspDrawSkinItemEvent;
FMouseIn: Boolean;
FOldItemIndex: Integer;
FDropDownCount: Integer;
FLBDown: Boolean;
FListBoxWindowProc: TWndMethod;
FEditWindowProc: TWndMethod;
//
FListBox: TspPopupListBox;
//
CBItem: TspCBItem;
Button: TspCBButtonX;
FEdit: TspCustomEdit;
FromEdit: Boolean;
procedure AdjustEditHeight;
procedure ProcessListBox;
procedure StartTimer;
procedure StopTimer;
procedure FindLBItem(S: String);
procedure FindLBItemFromEdit;
function GetSelStart: Integer;
procedure SetSelStart(Value: Integer);
function GetSelLength: Integer;
procedure SetSelLength(Value: Integer);
procedure EditKeyPress(Sender: TObject; var Key: Char);
procedure EditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
function GetImages: TCustomImageList;
function GetImageIndex: Integer;
procedure SetImages(Value: TCustomImageList);
procedure SetImageIndex(Value: Integer);
function GetHorizontalExtent: Boolean;
procedure SetHorizontalExtent(Value: Boolean);
function GetListBoxUseSkinItemHeight: Boolean;
procedure SetListBoxUseSkinItemHeight(Value: Boolean);
procedure EditCancelMode(C: TControl);
function GetListBoxDefaultFont: TFont;
procedure SetListBoxDefaultFont(Value: TFont);
function GetListBoxDefaultCaptionFont: TFont;
procedure SetListBoxDefaultCaptionFont(Value: TFont);
function GetListBoxDefaultItemHeight: Integer;
procedure SetListBoxDefaultItemHeight(Value: Integer);
function GetListBoxCaptionAlignment: TAlignment;
procedure SetListBoxCaptionAlignment(Value: TAlignment);
procedure CheckButtonClick(Sender: TObject);
procedure SetListBoxCaption(Value: String);
function GetListBoxCaption: String;
procedure SetListBoxCaptionMode(Value: Boolean);
function GetListBoxCaptionMode: Boolean;
procedure ListBoxDrawItem(Cnvs: TCanvas; Index: Integer;
ItemWidth, ItemHeight: Integer; TextRect: TRect; State: TOwnerDrawState);
function GetSorted: Boolean;
procedure SetSorted(Value: Boolean);
procedure SetStyle(Value: TspSkinCustomComboBoxStyle);
procedure DrawDefaultItem(Cnvs: TCanvas);
procedure DrawSkinItem(Cnvs: TCanvas);
procedure DrawResizeSkinItem(Cnvs: TCanvas);
function GetItemIndex: Integer;
procedure SetItemIndex(Value: Integer);
procedure ListBoxWindowProcHook(var Message: TMessage);
procedure EditWindowProcHook(var Message: TMessage);
procedure SetItems(Value: TStrings);
function GetItems: TStrings;
procedure SetListBoxDrawItem(Value: TspDrawSkinItemEvent);
procedure SetDropDownCount(Value: Integer);
procedure EditChange(Sender: TObject);
procedure EditUp(AChange: Boolean);
procedure EditDown(AChange: Boolean);
procedure EditUp1(AChange: Boolean);
procedure EditDown1(AChange: Boolean);
procedure EditPageUp1(AChange: Boolean);
procedure EditPageDown1(AChange: Boolean);
procedure ShowEditor;
procedure HideEditor;
procedure DrawButton(C: TCanvas);
procedure DrawResizeButton(C: TCanvas);
procedure CalcRects;
procedure WMSETFOCUS(var Message: TMessage); message WM_SETFOCUS;
procedure WMKILLFOCUS(var Message: TWMKILLFOCUS); message WM_KILLFOCUS;
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 CMMouseEnter(var Message: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
procedure CMCancelMode(var Message: TCMCancelMode); message CM_CANCELMODE;
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 ListBoxMouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
procedure GetSkinData; override;
procedure WMMOUSEWHEEL(var Message: TMessage); message WM_MOUSEWHEEL;
procedure WMEraseBkgnd(var Msg: TWMEraseBkgnd); message WM_ERASEBKGND;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: Char); override;
procedure CMWantSpecialKey(var Msg: TCMWantSpecialKey); message CM_WANTSPECIALKEY;
procedure CMEnabledChanged(var Message: TMessage); message CM_ENABLEDCHANGED;
procedure DefaultFontChange; override;
procedure CreateControlDefaultImage(B: TBitMap); override;
procedure CreateControlSkinImage(B: TBitMap); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Change; virtual;
procedure CalcSize(var W, H: Integer); override;
procedure SetControlRegion; override;
public
FontName: String;
FontStyle: TFontStyles;
FontHeight: Integer;
SItemRect, FocusItemRect: TRect;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -