📄 dynamicskinform.pas
字号:
FSystemMenu: TPopupMenu;
FDraggAble: Boolean;
FIsDragging: Boolean;
FOldX, FOldY: Integer;
FOnChangeSkinData: TNotifyEvent;
FOnActivate: TNotifyEvent;
FOnDeActivate: TNotifyEvent;
FOnChangeRollUpState: TNotifyEvent;
FInChangeSkinData: Boolean;
FWindowState: TWindowState;
FMagneticSize: Byte;
FMenusAlphaBlend: Boolean;
FMenusAlphaBlendValue: Byte;
FMenusAlphaBlendAnimation: Boolean;
FAlphaBlend: Boolean;
FAlphaBlendAnimation: Boolean;
FAlphaBlendValue: Byte;
VisibleControls: TList;
OldAppMessage: TMessageEvent;
FOnActivateCustomObject: TspActivateCustomObjectEvent;
FOnMinimize, FOnRestore, FOnMaximize: TNotifyEvent;
procedure CancelMessageToControls;
procedure SetMaxMenuItemsInWindow(Value: Integer);
procedure CheckMDIMainMenu;
procedure CheckMDIBar;
procedure SetLogoBitMap(Value: TBitMap);
function GetUseSkinFontInMenu: Boolean;
procedure SetUseSkinFontInMenu(Value: Boolean);
procedure SetShowIcon(Value: Boolean);
procedure GetIconSize(var X, Y: Integer);
procedure GetIcon;
procedure DrawFormIcon(Cnvs: TCanvas; X, Y: Integer);
procedure SetMenusAlphaBlend(Value: Boolean);
procedure SetMenusAlphaBlendAnimation(Value: Boolean);
procedure SetMenusAlphaBlendValue(Value: Byte);
function GetDefCaptionRect: TRect;
function GetDefCaptionHeight: Integer;
function GetDefButtonSize: Integer;
procedure SetDefaultMenuItemHeight(Value: Integer);
function GetDefaultMenuItemHeight: Integer;
procedure SetDefaultMenuItemFont(Value: TFont);
function GetDefaultMenuItemFont: TFont;
procedure SetDefCaptionFont(Value: TFont);
procedure SetDefInActiveCaptionFont(Value: TFont);
procedure SetBorderIcons(Value: TspBorderIcons);
procedure NewAppMessage(var Msg: TMsg; var Handled: Boolean);
procedure HookApp;
procedure UnHookApp;
function GetMaximizeMDIChild: TForm;
function IsMDIChildMaximized: Boolean;
procedure ResizeMDIChilds;
function GetMDIWorkArea: TRect;
procedure UpDateForm;
procedure FormClientWindowProcHook(var Message: TMessage);
procedure TSM_Restore(Sender: TObject);
procedure TSM_Close(Sender: TObject);
procedure SM_Restore(Sender: TObject);
procedure SM_Max(Sender: TObject);
procedure SM_Min(Sender: TObject);
procedure SM_RollUp(Sender: TObject);
procedure SM_Close(Sender: TObject);
procedure SM_MinToTray(Sender: TObject);
procedure TrayIconDBLCLK(Sender: TObject);
procedure TrackSystemMenu(X, Y: Integer);
procedure TrackSystemMenu2(R: TRect);
procedure UpDateActiveObjects;
procedure CreateSysMenu;
procedure CreateUserSysMenu;
procedure CreateSysTrayMenu;
function GetSystemMenu: TMenuItem;
procedure CalcRects;
procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
procedure ChangeSkinData;
procedure SetRollUpFormRegion;
procedure CreateRollUpForm;
procedure CreateRollUpForm2;
procedure RestoreRollUpForm;
procedure RestoreRollUpForm2;
procedure SetRollUpState(Value: Boolean);
procedure SetTrayIcon(Value: TspTrayIcon);
procedure BeforeUpDateSkinControls(AFSD: Integer; WC: TWinControl);
procedure UpDateSkinControls(AFSD: Integer; WC: TWinControl);
procedure BeforeUpDateSkinComponents(AFSD: Integer);
procedure UpDateSkinComponents(AFSD: Integer);
procedure CheckObjects;
procedure CheckObjectsHint;
procedure SetWindowState(Value: TWindowState);
procedure SetSkinData(Value: TspSkinData);
procedure SetMenusSkinData(Value: TspSkinData);
procedure CheckSize;
procedure NewWndProc(var Message: TMessage);
function NewHitTest(P: TPoint): Integer;
function NewNCHitTest(P: TPoint): Integer;
function NewDefNCHitTest(P: TPoint): Integer;
procedure CreateNewRegion(FCanScale: Boolean);
procedure CreateNewForm(FCanScale: Boolean);
procedure FormChangeActive(AUpDate: Boolean);
procedure DoMaximize;
procedure DoNormalize;
procedure DoMinimize;
function InForm(P: TPoint): Boolean;
function PtInMask(P: TPoint): Boolean;
function CanScale: Boolean;
procedure CreateMainMenu;
procedure CheckWindowState;
function GetRealHeight: Integer;
procedure CheckControlsBackground;
procedure SetSkinnableForm(Value: Boolean);
function GetSkinnableForm: Boolean;
protected
InMenu: Boolean;
InMainMenu: Boolean;
FRgn: HRGN;
NewMainMenuRect: TRect;
NewIconRect: TRect;
MorphTimer: TTimer;
AnimateTimer: TTimer;
MouseTimer: TTimer;
FMagnetic: Boolean;
FSizeGripArea: TRect;
FOnSkinMenuOpen: TNotifyEvent;
FOnSkinMenuClose: TNotifyEvent;
FOnChangeClientRect: TChangeClientRectEvent;
FOnMainMenuEnter: TNotifyEvent;
FOnMainMenuExit: TNotifyEvent;
FOnMouseEnterEvent: TMouseEnterEvent;
FOnMouseLeaveEvent: TMouseLeaveEvent;
FOnMouseUpEvent : TspMouseUpEvent;
FOnMouseDownEvent : TMouseDownEvent;
FOnMouseMoveEvent: TMouseMoveEvent;
FOnPaintEvent: TPaintEvent;
FOnSwitchChangeStateEvent: TSwitchChangeStateEvent;
FOnTrackBarChangeValueEvent: TTrackBarChangeValueEvent;
FOnFrameRegulatorChangeValueEvent: TFrameRegulatorChangeValueEvent;
ActiveObject, OldActiveObject, MouseCaptureObject: Integer;
OldWindowState: TWindowState;
procedure LoadBorderIcons;
procedure PopupSystemMenu;
procedure DrawLogoBitMap(C: TCanvas);
procedure CorrectCaptionText(C: TCanvas; var S: WideString; W: Integer);
procedure CheckMenuVisible(var Msg: Cardinal);
procedure FormKeyDown(Message: TMessage);
function CanNCSupport: Boolean;
function GetFullDragg: Boolean;
function GetMinimizeCoord: TPoint;
function CanObjectTest(ARollUp: Boolean): Boolean;
procedure PointToNCPoint(var P: TPoint);
procedure ActivateMenu;
function CheckReturnKey: Boolean;
procedure NextMainMenuItem;
procedure PriorMainMenuItem;
function CanNextMainMenuItem: Boolean;
function CanPriorMainMenuItem: Boolean;
function FindHotKeyItem(CharCode: Integer): Boolean;
procedure SetMainMenu(Value: TMainMenu);
procedure StartDragg(X, Y: Integer);
procedure EndDragg;
procedure DoMagnetic(var L, T: Integer; W, H: Integer);
procedure TestCursors;
procedure TestMouse(Sender: TObject);
procedure TestMorph(Sender: TObject);
procedure TestAnimate(Sender: TObject);
procedure TestActive(X, Y: Integer; InFrm: Boolean);
procedure MouseDBlClick;
procedure MouseDown(Button: TMouseButton; X, Y: Integer);
procedure MouseMove(X, Y: Integer);
procedure MouseUp(Button: TMouseButton; X, Y: Integer);
procedure CreateRealBitMap(DestB, SourceB: TBitMap);
function CalcRealObjectRect(R: TRect): TRect;
procedure CalcAllRealObjectRect;
procedure ControlsToAreas;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure LoadObjects;
procedure LoadDefObjects;
procedure SwitchChangeStateEvent(IDName: String; State: TSwitchState);
procedure TrackBarChangeValueEvent(IDName: String; Value: Integer);
procedure FrameRegulatorChangeValueEvent(IDName: String; Value: Integer);
procedure MouseEnterEvent(IDName: String);
procedure MouseLeaveEvent(IDName: String);
procedure MouseUpEvent(IDName: String;
X, Y: Integer; ObjectRect: TRect;
Button: TMouseButton);
procedure MouseDownEvent(IDName: String;
X, Y: Integer; ObjectRect: TRect;
Button: TMouseButton);
procedure MouseMoveEvent(IDName: String; X, Y: Integer;
ObjectRect: TRect);
procedure PaintEvent(IDName: String; Canvas: TCanvas; ObjectRect: TRect);
procedure LinkControlsToAreas;
procedure SetDefaultCaptionText(AValue: String);
procedure SkinMainMenuClose;
procedure SkinMenuClose2;
procedure ArangeMinimizedChilds;
function GetAutoRenderingInActiveImage: Boolean;
procedure SetAlphaBlendValue(Value: Byte);
procedure SetAlphaBlend(Value: Boolean);
public
SkinMenu: TspSkinMenu;
FForm: TForm;
ObjectList, AreaList: TList;
PreviewMode: Boolean;
procedure EnableShadow(AShowShadow: Boolean; AHideFormBefore: Boolean);
procedure ApplyPositionInMonitor;
function GetPositionInMonitor(AX, AY, AW, AH: Integer): TPoint;
function GetAreaRect(AIDName: String): TRect;
function GetProductVersion: String;
procedure DoPopupMenu(Menu: TPopupMenu; X, Y: Integer);
procedure AddChildToMenu(Child: TCustomForm);
procedure AddChildToBar(Child: TCustomForm);
procedure DeleteChildFromMenu(Child: TCustomForm);
procedure DeleteChildFromBar(Child: TCustomForm);
procedure RefreshMDIBarTab(Child: TCustomForm);
procedure MDIItemClick(Sender: TObject);
procedure UpDateChildCaptionInMenu(Child: TCustomForm);
procedure UpDateChildActiveInMenu;
function GetMinWidth: Integer;
function GetMinHeight: Integer;
function GetMaxWidth: Integer;
function GetMaxHeight: Integer;
procedure MinimizeAll;
procedure MaximizeAll;
procedure RestoreAll;
procedure Tile;
procedure Cascade;
procedure CloseAll;
function GetFormActive: Boolean;
procedure MinimizeToTray;
procedure RestoreFromTray;
procedure SkinMenuOpen;
procedure SkinMenuClose;
procedure DrawSkinObject(AObject: TspActiveSkinObject);
procedure SetFormStyle(FS: TFormStyle);
procedure SetFormBorderStyle(BS: TFormBorderStyle);
procedure LinkControlToArea(AreaName: String; Control: TControl);
procedure UnLinkControlFromArea(Control: TControl);
procedure UpdateMainMenu(ARedraw: Boolean);
procedure PopupSkinMenu(Menu: TMenu; P: TPoint);
procedure PopupSkinMenu1(Menu: TMenu; R: TRect; PopupUp: Boolean);
procedure ClearObjects;
function GetIndex(AIDName: String): Integer;
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure Paint(DC: HDC);
procedure PaintNCSkin(ADC: HDC; AUseExternalDC: Boolean);
procedure PaintBG(DC: HDC);
procedure PaintBG2(DC: HDC);
procedure PaintBG3(DC: HDC);
//
procedure PaintNCDefault(ADC: HDC; AUseExternalDC: Boolean);
procedure PaintBGDefault(DC: HDC);
procedure PaintMDIBGDefault(DC: HDC);
procedure CalcDefRects;
//
procedure SetSupportNCArea(Value: Boolean);
procedure SetEnabled(AIDName: String; Value: Boolean);
procedure CaptionSetText(AIDName, AText: String);
procedure AnimateStart(AIDName: String);
procedure AnimateStop(AIDName: String);
procedure BitLabelSetText(AIDName: String; AValue: String);
procedure GaugeSetValue(AIDName: String; AValue: Integer);
procedure FrameGaugeSetValue(AIDName: String; AValue: Integer);
procedure ButtonSetDown(AIDName: String; ADown: Boolean);
function ButtonGetDown(AIDName: String): Boolean;
procedure SwitchSetState(AIDName: String; AState: TSwitchState);
function SwitchGetState(AIDName: String): TSwitchState;
function TrackBarGetValue(AIDName: String): Integer;
procedure TrackBarSetValue(AIDName: String; AValue: Integer);
function FrameRegulatorGetValue(AIDName: String): Integer;
procedure FrameRegulatorSetValue(AIDName: String; AValue: Integer);
procedure LabelSetText(AIDName, ATextValue: String);
procedure UserObjectDraw(AIDName: String);
procedure LinkMenu(AIDName: String; AMenu: TMenu; APopupUp: Boolean);
//
property RollUpState: Boolean read FRollUpState write SetRollUpState;
property WindowState: TWindowState read FWindowState write SetWindowState;
property RealHeight: Integer read GetRealHeight write OldHeight;
property MinimizeDefault: Boolean read FMinimizeDefault write FMinimizeDefault;
property SkinnableForm: Boolean read GetSkinnableForm;
published
property PositionInMonitor: TspPositionInMonitor read
FPositionInMonitor write FPositionInMonitor;
property StatusBar: TspSkinStatusBar read FStatusBar write FStatusBar;
property UseFormCursorInNCArea: Boolean read
FUseFormCursorInNCArea write FUseFormCursorInNCArea;
property MaxMenuItemsInWindow: Integer read
FMaxMenuItemsInWindow write SetMaxMenuItemsInWindow;
property ClientWidth: Integer read FClientWidth write FClientWidth;
property ClientHeight: Integer read FClientHeight write FClientHeight;
property HideCaptionButtons: Boolean read
FHideCaptionButtons write FHideCaptionButtons;
property AlwaysShowInTray: Boolean read FAlwaysShowInTray write FAlwaysShowInTray;
property LogoBitMap: TBitMap read FLogoBitMap write SetLogoBitMap;
property LogoBitMapTransparent: Boolean
read FLogoBitMapTransparent
write FLogoBitMapTransparent;
property AlwaysMinimizeToTray: Boolean
read FAlwaysMinimizeToTray write FAlwaysMinimizeToTray;
property UseSkinFontInMenu: boolean
read GetUseSkinFontInMenu write SetUseSkinFontInMenu;
property ShowIcon: Boolean read FShowIcon write SetShowIcon;
property MaximizeOnFullScreen: Boolean
read FMaximizeOnFullScreen write FMaximizeOnFullScreen;
property SkinHint: TspSkinHint read FSkinHint write FSkinHint;
property ShowObjectHint: Boolean read FShowObjectHint write FShowObjectHint;
property UseDefaultObjectHint: Boolean read FUseDefaultObjectHint write FUseDefaultObjectHint;
property UseSkinCursors: Boolean read FUseSkinCursors write FUseSkinCursors;
property DefCaptionFont: TFont read FDefCaptionFont write SetDefCaptionFont;
property DefInActiveCaptionFont: TFont read FDefInActiveCaptionFont write SetDefInActiveCaptionFont;
property DefMenuItemHeight: Integer
read GetDefaultMenuItemHeight write SetDefaultMenuItemHeight;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -