⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dynamicskinform.pas

📁 DynamicSkinForm Finial 6.85_完全汉化版_for CB_D5-9 特点: 完全source 完全汉化真正奉献! 本汉化只供研究和学习用
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    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 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;
  protected
    InMenu: Boolean;
    InMainMenu: Boolean;

    FRgn: HRGN;
    NewMainMenuRect: TRect;
    NewIconRect: TRect;
    MorphTimer: TTimer;
    AnimateTimer: TTimer;
    MouseTimer: TTimer;
    FMagnetic: Boolean;

    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 DrawLogoBitMap(C: TCanvas);
    procedure CorrectCaptionText(C: TCanvas; var S: String; 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 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 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;
    procedure PaintBG(DC: HDC);
    procedure PaintBG2(DC: HDC);
    procedure PaintBG3(DC: HDC);
    //
    procedure PaintNCDefault;
    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;
  published
    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;
    property DefMenuItemFont: TFont
      read GetDefaultMenuItemFont write SetDefaultMenuItemFont;
    property TrayIcon: TspTrayIcon read FTrayIcon write SetTrayIcon;
    property UseDefaultSysMenu: Boolean
      read FUseDefaultSysMenu write FUseDefaultSysMenu;
    property MainMenuBar: TspSkinMainMenuBar read FMainMenuBar write FMainMenuBar;
    property MDITabsBar: TspSkinMDITabsBar read FMDITabsBar write FMDITabsBar;
    property SupportNCArea: Boolean read FSupportNCArea
                                    write SetSupportNCArea;

    property AlphaBlendAnimation: Boolean read
      FAlphaBlendAnimation write FAlphaBlendAnimation;                                  
    property AlphaBlendValue: Byte read FAlphaBlendValue
                                   write SetAlphaBlendValue;
    property AlphaBlend: Boolean read FAlphaBlend
                                       write SetAlphaBlend;

    property MenusAlphaBlend: Boolean
      read FMenusAlphaBlend write SetMenusAlphaBlend;

    property MenusAlphaBlendAnimation: Boolean
      read FMenusAlphaBlendAnimation write SetMenusAlphaBlendAnimation;

    property MenusAlphaBlendValue: Byte
      read FMenusAlphaBlendValue write SetMenusAlphaBlendValue;
      
    property MainMenu: TMainMenu read FMainMenu write SetMainMenu;
    property SystemMenu: TPopupMenu read FSystemMenu write FSystemMenu;
    property SkinData: TspSkinData read FSD write SetSkinData;
    property MenusSkinData: TspSkinData read FMSD write SetMenusSkinData;
    property MinHeight: Integer read FMinHeight write  FMinHeight;
    property MinWidth: Integer read FMinWidth write  FMinWidth;
    property MaxHeight: Integer read FMaxHeight write  FMaxHeight;
    property MaxWidth: Integer read FMaxWidth write  FMaxWidth;
    property Sizeable: Boolean read FSizeable write FSizeable;
    property DraggAble: Boolean read FDraggAble write FDraggAble;
    property Magnetic: Boolean read  FMagnetic write FMagnetic;
    property MagneticSize: Byte read  FMagneticSize write FMagneticSize;
    property BorderIcons: TspBorderIcons read FBorderIcons write SetBorderIcons;

    property OnChangeClientRect: TChangeClientRectEvent
      read FOnChangeClientRect write FOnChangeClientRect;

    property OnChangeSkinData: TNotifyEvent read FOnChangeSkinData
                                            write FOnChangeSkinData;

    property OnMouseUpEvent: TspMouseUpEvent read FOnMouseUpEvent
                                           write FOnMouseUpEvent;
    property OnMouseDownEvent: TMouseDownEvent read FOnMouseDownEvent
                                               write FOnMouseDownEvent;
    property OnMouseMoveEvent: TMouseMoveEvent read FOnMouseMoveEvent
                                               write FOnMouseMoveEvent;
    property OnMouseEnterEvent: TMouseEnterEvent read FOnMouseEnterEvent
                                                 write FOnMouseEnterEvent;
    property OnMouseLeaveEvent: TMouseLeaveEvent read FOnMouseLeaveEvent
                                                 write FOnMouseLeaveEvent;
    property OnPaintEvent: TPaintEvent read FOnPaintEvent
                                       write FOnPaintEvent;
    property OnSwitchChangeStateEvent: TSwitchChangeStateEvent
                                       read FOnSwitchChangeStateEvent
                                       write FOnSwitchChangeStateEvent;
    property OnTrackBarChangeValueEvent: TTrackBarChangeValueEvent
                                       read FOnTrackBarChangeValueEvent
                                       write FOnTrackBarChangeValueEvent;
    property OnFrameRegulatorChangeValueEvent: TFrameRegulatorChangeValueEvent
                                       read FOnFrameRegulatorChangeValueEvent
                                       write FOnFrameRegulatorChangeValueEvent;
    property OnActivate: TNotifyEvent read FOnActivate write  FOnActivate;
    property OnDeActivate: TNotifyEvent read FOnDeActivate write  FOnDeActivate;
    property OnSkinMenuOpen: TNotifyEvent read FOnSkinMenuOpen
                                          write FOnSkinMenuOpen;
    property OnSkinMenuClose: TNotifyEvent read FOnSkinMenuClose
                                          write FOnSkinMenuClose;
    property OnChangeRollUpState: TNotifyEvent read FOnChangeRollUpState
                                               write FOnChangeRollUpState;
    property OnMainMenuEnter: TNotifyEvent read FOnMainMenuEnter
                                           write FOnMainMenuEnter;
    property OnMainMenuExit: TNotifyEvent read FOnMainMenuExit
                                           write FOnMainMenuExit;
    property OnMinimizeToTray: TNotifyEvent
      read FOnMinimizeToTray write FOnMinimizeToTray;
    property OnRestoreFromTray: TNotifyEvent
      read FOnRestoreFromTray write FOnRestoreFromTray;

    property OnActivateCustomObject: TspActivateCustomObjectEvent
      read FOnActivateCustomObject write FOnActivateCustomObject;
  end;

  TspMDITab = class(TObject)
  protected
    TabsBar: TspSkinMDITabsBar;
  public
    Active, MouseIn: Boolean;
    ObjectRect: TRect;
    Child: TCustomForm;
    constructor Create(AParentBar: TspSkinMDITabsBar; AChild: TCustomForm);
    procedure Draw(Cnvs: TCanvas);
    procedure ResizeDraw(Cnvs: TCanvas);
    procedure ButtonDraw(Cnvs: TCanvas);
  end;

  TspMDITabMouseEnterEvent = procedure (MDITab: TspMDITab) of object;
  TspMDITabMouseLeaveEvent = procedure (MDITab: TspMDITab) of object;
  TspMDITabMouseDownEvent = procedure (Button: TMouseButton; Shift: TShiftState; MDITab: TspMDITab) of object;
  TspMDITabMouseUpEvent = procedure (Button: TMouseButton; Shift: TShiftState; MDITab: TspMDITab) of object;

  TspSkinMDITabKind = (sptkTab, sptkButton);
  TspSkinMDITabsBar = class(TspSkinControl)
  private
    FTabKind: TspSkinMDITabKind;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -