📄 jvxctrls.pas
字号:
FAlignment: TAlignment;
FAutoSize: Boolean;
FLayout: TTextLayout;
FShadowColor: TColor;
FShadowSize: Byte;
FShadowPos: TShadowPosition;
FWordWrap: Boolean;
FShowAccelChar: Boolean;
FShowFocus: Boolean;
FFocused: Boolean;
FMouseInControl: Boolean;
FDragging: Boolean;
FLeftMargin: Integer;
FRightMargin: Integer;
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
FAboutJVCL: TJVCLAboutInfo;
FImageIndex: TImageIndex;
FImages: TCustomImageList;
FChangeLink:TChangeLink;
FOnCtl3DChanged: TNotifyEvent;
FOnParentColorChanged: TNotifyEvent;
FHotTrack: Boolean;
FHotTrackFont: TFont;
FFontSave: TFont;
FHintColor: TColor;
FHintSaved: TColor;
FAutoOpenURL: boolean;
FURL: string;
FAngle: TJvLabelRotateAngle;
FSpacing: integer;
FHotTrackFontOptions: TJvTrackFontOptions;
//FConsumerSvc: TJvDataConsumer;
function GetTransparent: Boolean;
procedure UpdateTracking;
procedure SetAlignment(Value: TAlignment);
{$IFNDEF COMPILER6_UP} // Polaris
procedure SetAutoSize(Value: Boolean);
{$ENDIF}
procedure SetFocusControl(Value: TWinControl);
procedure SetLayout(Value: TTextLayout);
procedure SetLeftMargin(Value: Integer);
procedure SetRightMargin(Value: Integer);
procedure SetShadowColor(Value: TColor);
procedure SetShadowSize(Value: Byte);
procedure SetShadowPos(Value: TShadowPosition);
procedure SetShowAccelChar(Value: Boolean);
procedure SetTransparent(Value: Boolean);
procedure SetWordWrap(Value: Boolean);
procedure SetShowFocus(Value: Boolean);
procedure CMTextChanged(var Msg: TMessage); message CM_TEXTCHANGED;
procedure CMFocusChanged(var Msg: TCMFocusChanged); message CM_FOCUSCHANGED;
procedure CMFontChanged(var Msg: TMessage); message CM_FONTCHANGED;
procedure CMDialogChar(var Msg: TCMDialogChar); message CM_DIALOGCHAR;
procedure CMEnabledChanged(var Msg: TMessage); message CM_ENABLEDCHANGED;
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
procedure CMVisibleChanged(var Msg: TMessage); message CM_VISIBLECHANGED;
procedure CMCtl3DChanged(var Msg: TMessage); message CM_CTL3DCHANGED;
procedure CMParentColorChanged(var Msg: TMessage); message CM_PARENTCOLORCHANGED;
procedure WMRButtonDown(var Msg: TWMRButtonDown); message WM_RBUTTONDOWN;
procedure WMRButtonUp(var Msg: TWMRButtonUp); message WM_RBUTTONUP;
procedure SetImageIndex(const Value: TImageIndex);
procedure SetImages(const Value: TCustomImageList);
procedure DoImagesChange(Sender:TObject);
procedure DrawAngleText(Flags: Word);
procedure SetAngle(const Value: TJvLabelRotateAngle);
procedure SetHotTrackFont(const Value: TFont);
procedure SetSpacing(const Value: integer);
procedure SetHotTrackFontOptions(const Value: TJvTrackFontOptions);
protected
procedure DoDrawCaption(var Rect: TRect; Flags: Word); virtual;
procedure DoDrawText(var Rect: TRect; Flags: Word); virtual;
procedure AdjustBounds;
{$IFDEF COMPILER6_UP}
procedure SetAutoSize(Value: Boolean); override;
{$ENDIF}
function GetDefaultFontColor: TColor; virtual;
function GetLabelCaption: string; virtual;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Click; override;
procedure Paint; override;
procedure Loaded; override;
procedure MouseEnter; reintroduce;
procedure MouseLeave; reintroduce;
function GetImageWidth:integer;virtual;
function GetImageHeight:integer;virtual;
//procedure SetConsumerService(Value: TJvDataConsumer);
//function ProviderActive: Boolean;
//procedure ConsumerServiceChanged(Sender: TJvDataConsumer; Reason: TJvDataConsumerChangeReason);
//procedure NonProviderChange;
property Angle: TJvLabelRotateAngle read FAngle write SetAngle default 0;
property AutoOpenURL: boolean read FAutoOpenURL write FAutoOpenURL;
property HintColor: TColor read FHintColor write FHintColor default clInfoBk;
property HotTrack: Boolean read FHotTrack write FHotTrack default False;
property HotTrackFont: TFont read FHotTrackFont write SetHotTrackFont;
property HotTrackFontOptions:TJvTrackFontOptions read FHotTrackFontOptions write SetHotTrackFontOptions default DefaultTrackFontOptions;
property Alignment: TAlignment read FAlignment write SetAlignment default taLeftJustify;
property AutoSize: Boolean read FAutoSize write SetAutoSize default True;
property FocusControl: TWinControl read FFocusControl write SetFocusControl;
property Images:TCustomImageList read FImages write SetImages;
property ImageIndex:TImageIndex read FImageIndex write SetImageIndex;
// specifies the offset between the right edge of the image and the left edge of the text (in pixels)
property Spacing:integer read FSpacing write SetSpacing default 4;
property Layout: TTextLayout read FLayout write SetLayout default tlTop;
property LeftMargin: Integer read FLeftMargin write SetLeftMargin default 0;
property RightMargin: Integer read FRightMargin write SetRightMargin default 0;
property ShadowColor: TColor read FShadowColor write SetShadowColor default clBtnHighlight;
property ShadowSize: Byte read FShadowSize write SetShadowSize default 0;
property ShadowPos: TShadowPosition read FShadowPos write SetShadowPos default spLeftTop;
property ShowAccelChar: Boolean read FShowAccelChar write SetShowAccelChar default True;
property ShowFocus: Boolean read FShowFocus write SetShowFocus default False;
property Transparent: Boolean read GetTransparent write SetTransparent default False;
property URL: string read FURL write FURL;
//property Provider: TJvDataConsumer read FConsumerSvc write SetConsumerService;
property WordWrap: Boolean read FWordWrap write SetWordWrap default False;
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
property OnCtl3DChanged: TNotifyEvent read FOnCtl3DChanged write FOnCtl3DChanged;
property OnParentColorChange: TNotifyEvent read FOnParentColorChanged write FOnParentColorChanged;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Canvas;
property MouseInControl: Boolean read FMouseInControl;
published
property AboutJVCL: TJVCLAboutInfo read FAboutJVCL write FAboutJVCL stored False;
end;
TJvxLabel = class(TJvCustomLabel)
published
property Align;
property Alignment;
property AutoSize;
property Caption;
property Color;
property DragCursor;
property DragMode;
property Enabled;
property FocusControl;
property Font;
property Anchors;
property BiDiMode;
property Constraints;
property DragKind;
property ParentBiDiMode;
property Layout;
property ParentColor;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShadowColor;
property ShadowSize;
property ShadowPos;
property ShowAccelChar;
property ShowFocus;
property ShowHint;
property Transparent;
property Visible;
property WordWrap;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnMouseEnter;
property OnMouseLeave;
property OnStartDrag;
property OnContextPopup;
property OnEndDock;
property OnStartDock;
end;
TGlyphLayout = (glGlyphLeft, glGlyphRight, glGlyphTop, glGlyphBottom);
TScrollDirection = (sdVertical, sdHorizontal);
TPanelDrawEvent = procedure(Sender: TObject; Canvas: TCanvas;
Rect: TRect) of object;
TJvSecretPanel = class(TJvCustomPanel)
private
FActive: Boolean;
FAlignment: TAlignment;
FLines: TStrings;
FCycled: Boolean;
FScrollCnt: Integer;
FMaxScroll: Integer;
FTxtDivider: Byte;
FFirstLine: Integer;
FTimer: TJvTimer;
FTxtRect: TRect;
FPaintRect: TRect;
FGlyphOrigin: TPoint;
FMemoryImage: TBitmap;
FGlyph: TBitmap;
FHiddenList: TList;
FTextStyle: TPanelBevel;
FDirection: TScrollDirection;
FGlyphLayout: TGlyphLayout;
FOnPaintClient: TPanelDrawEvent;
FOnStartPlay: TNotifyEvent;
FOnStopPlay: TNotifyEvent;
FAsyncDrawing: Boolean;
procedure SetAsyncDrawing(Value: Boolean);
function GetInflateWidth: Integer;
function GetInterval: Cardinal;
procedure SetInterval(Value: Cardinal);
procedure SetGlyph(Value: TBitmap);
procedure SetLines(Value: TStrings);
procedure SetActive(Value: Boolean);
procedure SetAlignment(Value: TAlignment);
procedure SetGlyphLayout(Value: TGlyphLayout);
procedure SetTextStyle(Value: TPanelBevel);
procedure SetDirection(Value: TScrollDirection);
procedure RecalcDrawRect;
procedure PaintGlyph;
procedure PaintText;
procedure UpdateMemoryImage;
procedure GlyphChanged(Sender: TObject);
procedure LinesChanged(Sender: TObject);
procedure CMFontChanged(var Msg: TMessage); message CM_FONTCHANGED;
procedure CMColorChanged(var Msg: TMessage); message CM_COLORCHANGED;
procedure WMSize(var Msg: TMessage); message WM_SIZE;
protected
procedure AlignControls(AControl: TControl; var Rect: TRect); override;
procedure Paint; override;
procedure PaintClient(Canvas: TCanvas; Rect: TRect); virtual;
procedure TimerExpired(Sender: TObject); virtual;
procedure StartPlay; dynamic;
procedure StopPlay; dynamic;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Play;
procedure Stop;
property Canvas;
published
property AsyncDrawing: Boolean read FAsyncDrawing write SetAsyncDrawing default True;
property Active: Boolean read FActive write SetActive default False;
property Alignment: TAlignment read FAlignment write SetAlignment default taCenter;
property Cycled: Boolean read FCycled write FCycled default False;
property Glyph: TBitmap read FGlyph write SetGlyph;
property GlyphLayout: TGlyphLayout read FGlyphLayout write SetGlyphLayout
default glGlyphLeft;
property Interval: Cardinal read GetInterval write SetInterval default 30;
property Lines: TStrings read FLines write SetLines;
property ScrollDirection: TScrollDirection read FDirection write SetDirection
default sdVertical;
property TextStyle: TPanelBevel read FTextStyle write SetTextStyle default bvNone;
property Anchors;
property BiDiMode;
property Constraints;
property DragKind;
property ParentBiDiMode;
property Align;
property BevelInner;
property BevelOuter default bvLowered;
property BevelWidth;
property BorderWidth;
property BorderStyle;
property DragCursor;
property DragMode;
property Color;
property Ctl3D;
property Font;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnPaintClient: TPanelDrawEvent read FOnPaintClient write FOnPaintClient;
property OnStartPlay: TNotifyEvent read FOnStartPlay write FOnStartPlay;
property OnStopPlay: TNotifyEvent read FOnStopPlay write FOnStopPlay;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnStartDrag;
property OnContextPopup;
property OnEndDock;
property OnStartDock;
property OnResize;
end;
TJvNumGlyphs = 1..5;
TJvDropDownMenuPos = (dmpBottom, dmpRight);
TJvButtonState = (rbsUp, rbsDisabled, rbsDown, rbsExclusive, rbsInactive);
TJvSpeedButton = class(TJvGraphicControl)
private
FAllowAllUp: Boolean;
FAllowTimer, FOver: Boolean;
FDown: Boolean;
FDragging: Boolean;
FDrawImage: TBitmap;
FDropDownMenu: TPopupMenu;
FFlat: Boolean;
FFontSave: TFont;
FGlyph: Pointer;
FGroupIndex: Integer;
FHintColor: TColor;
FHotGlyph: TBitmap;
FHotTrack: Boolean;
FHotTrackFont: TFont;
FHotTrackFontOptions: TJvTrackFontOptions;
FInactiveGrayed: Boolean;
FInitRepeatPause: Word;
FLayout: TButtonLayout;
FMargin: Integer;
FMarkDropDown: Boolean;
FMenuPosition: TJvDropDownMenuPos;
FMenuTracking: Boolean;
FModalResult: TModalResult;
FMouseInControl: Boolean;
FOldGlyph: TBitmap;
FOnMouseEnter: TNotifyEvent;
FOnMouseLeave: TNotifyEvent;
FOnParentColorChanged: TNotifyEvent;
FRepeatPause: Word;
FRepeatTimer: TTimer;
FSaved:TColor;
FSpacing: Integer;
FStyle: TButtonStyle;
FTransparent: Boolean;
function GetAlignment: TAlignment;
function GetGlyph: TBitmap;
function GetGrayNewStyle: Boolean;
function GetNumGlyphs: TJvNumGlyphs;
function GetWordWrap: Boolean;
procedure SetAlignment(Value: TAlignment);
procedure SetAllowAllUp(Value: Boolean);
procedure SetAllowTimer(Value: Boolean);
procedure SetDown(Value: Boolean);
procedure SetDropDownMenu(Value: TPopupMenu);
procedure SetFlat(Value: Boolean);
procedure SetGlyph(Value: TBitmap);
procedure SetGrayNewStyle(const Value: Boolean);
procedure SetGroupIndex(Value: Integer);
procedure SetHotTrackFont(const Value: TFont);
procedure SetHotTrackFontOptions(const Value: TJvTrackFontOptions);
procedure SetInactiveGrayed(Value: Boolean);
procedure SetLayout(Value: TButtonLayout);
procedure SetMargin(Value: Integer);
procedure SetMarkDropDown(Value: Boolean);
procedure SetNumGlyphs(Value: TJvNumGlyphs);
procedure SetSpacing(Value: Integer);
procedure SetStyle(Value: TButtonStyle);
procedure SetTransparent(Value: Boolean);
procedure SetWordWrap(Value: Boolean);
function CheckMenuDropDown(const Pos: TSmallPoint; Manual: Boolean): Boolean;
procedure DoMouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure GlyphChanged(Sender: TObject);
procedure TimerExpired(Sender: TObject);
procedure UpdateExclusive;
procedure CMButtonPressed(var Msg: TMessage); message CM_BUTTONPRESSED;
procedure CMDialogChar(var Msg: TCMDialogChar); message CM_DIALOGCHAR;
procedure CMEnabledChanged(var Msg: TMessage); message CM_ENABLEDCHANGED;
procedure CMFontChanged(var Msg: TMessage); message CM_FONTCHANGED;
procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
procedure CMParentColorChanged(var Msg: TMessage); message CM_PARENTCOLORCHANGED;
procedure CMSysColorChange(var Msg: TMessage); message CM_SYSCOLORCHANGE;
procedure CMTextChanged(var Msg: TMessage); message CM_TEXTCHANGED;
procedure CMVisibleChanged(var Msg: TMessage); message CM_VISIBLECHANGED;
procedure WMLButtonDblClk(var Msg: TWMLButtonDown); message WM_LBUTTONDBLCLK;
procedure WMMouseMove(var Msg: TMessage); message WM_MOUSEMOVE;
procedure WMRButtonDown(var Msg: TWMRButtonDown); message WM_RBUTTONDOWN;
procedure WMRButtonUp(var Msg: TWMRButtonUp); message WM_RBUTTONUP;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -