?? businessskinform.pas
字號:
procedure MDIChildMaximize;
procedure MDIChildRestore;
public
//
SkinRect, ItemsRect: TRect;
MenuBarItem: String;
MaxButton, MinButton, SysMenuButton, CloseButton: String;
TrackMarkColor, TrackMarkActiveColor: Integer;
Picture: TBitMap;
StretchEffect: Boolean;
ItemTransparent: Boolean;
//
ObjectList: TList;
//
ChildMenuIn: Boolean;
//
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function GetChildMainMenu: TMainMenu;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
procedure Paint; override;
procedure CreateMenu;
procedure ChangeSkinData; override;
procedure BeforeChangeSkinData; override;
procedure GetSkinData; override;
procedure UpDateEnabledItems;
procedure UpDateItems;
procedure Merge(Menu: TMainMenu);
procedure UnMerge;
published
property ScrollMenu: Boolean read FScrollMenu write FScrollMenu;
property UseSkinFont: Boolean
read FUseSkinFont write FUseSkinFont;
property DefItemFont: TFont read FDefItemFont write SetDefItemFont;
property DefaultWidth: Integer read FDefaultWidth write SetDefaultWidth;
property DefaultHeight: Integer read FDefaultHeight write SetDefaultHeight;
property PopupToUp: Boolean read FPopupToUp write FPopupToUp;
property BusinessSkinForm: TbsBusinessSkinForm read BSF write BSF;
property MainMenu: TMainMenu read FMainMenu write SetMainMenu;
property Anchors;
property Align;
property Visible;
property BiDiMode;
property Enabled;
property OnMouseEnter: TNotifyEvent read FOnMouseEnter write FOnMouseEnter;
property OnMouseLeave: TNotifyEvent read FOnMouseLeave write FOnMouseLeave;
property OnItemMouseEnter: TbsItemEnterEvent read FOnItemMouseEnter write FOnItemMouseEnter;
property OnItemMouseLeave: TbsItemLeaveEvent read FOnItemMouseLeave write FOnItemMouseLeave;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnClick;
end;
TbsSkinMDITabsBar = class;
TbsPositionInMonitor = (bspDefault, bspScreenCenter, bspDesktopCenter);
TbsBusinessSkinForm = class(TComponent)
private
FInAppHook: Boolean;
FAlwaysResize: Boolean;
FSkinnableForm: Boolean;
FIsVistaOs: Boolean;
FHaveShadow: Boolean;
FOnCaptionPaint: TbsCaptionPaintEvent;
FRollUpBeforeMaximize: Boolean;
FOnShortCut: TShortCutEvent;
FStopPainting: Boolean;
FStartShow: Boolean;
FPositionInMonitor: TbsPositionInMonitor;
HMagnetized: Boolean;
VMagnetized: Boolean;
HMagnetized2: Boolean;
VMagnetized2: Boolean;
FOnMouseDownCoord: TPoint;
FMinimizeDefault: Boolean;
FStatusBar: TbsSkinStatusBar;
FUseFormCursorInNCArea: Boolean;
FMaxMenuItemsInWindow: Integer;
FClientWidth, FClientHeight: Integer;
FHideCaptionButtons: Boolean;
FAlwaysShowInTray: Boolean;
FLogoBitMapTransparent: Boolean;
FLogoBitMap: TBitMap;
FAlwaysMinimizeToTray: Boolean;
FIcon: TIcon;
FShowIcon: Boolean;
ButtonsInLeft: boolean;
FMaximizeOnFullScreen: Boolean;
FAlphaBlend: Boolean;
FAlphaBlendAnimation: Boolean;
FAlphaBlendValue: Byte;
FSkinHint: TbsSkinHint;
FShowObjectHint: Boolean;
FUseDefaultObjectHint: Boolean;
FMenusAlphaBlend: Boolean;
FMenusAlphaBlendValue: Byte;
FMenusAlphaBlendAnimation: Boolean;
FSkinSupport: Boolean;
FDefCaptionFont: TFont;
FDefInActiveCaptionFont: TFont;
FMDIChildMaximized: Boolean;
FFormActive: Boolean;
FOnMinimizeToTray: TNotifyEvent;
FOnRestoreFromTray: TNotifyEvent;
FTrayIcon: TbsTrayIcon;
FUseDefaultSysMenu: Boolean;
FSysMenu: TPopupMenu;
FSysTrayMenu: TbsSkinPopupMenu;
FInShortCut: Boolean;
FMainMenuBar: TbsSkinMainMenuBar;
FMDITabsBar: TbsSkinMDITabsBar;
FFullDrag: Boolean;
FFormWidth, FFormHeight: Integer;
FSizeMove: Boolean;
FRollUpState, MaxRollUpState: Boolean;
FBorderIcons: TbsBorderIcons;
RMTop, RMBottom, RMLeft, RMRight: TBitMap;
BlackColor: TColor;
MouseIn: Boolean;
OldBoundsRect: TRect;
OldHeight: Integer;
NewLTPoint, NewRBPoint, NewRTPoint, NewLBPoint: TPoint;
NewClRect, NewCaptionRect, NewButtonsRect: TRect;
NewButtonsOffset: Integer;
NewButtonsInLeft: Boolean;
NewMaskRectArea: TRect;
NewHitTestLTPoint,
NewHitTestRTPoint,
NewHitTestLBPoint,
NewHitTestRBPoint: TPoint;
NewDefCaptionRect: TRect;
FMinHeight, FMinWidth: Integer;
FMaxHeight, FMaxWidth: Integer;
OldWindowProc: TWndMethod;
FClientInstance: Pointer;
FPrevClientProc: Pointer;
FSD: TbsSkinData;
FMSD: TbsSkinData;
FMainMenu: TMainMenu;
FSystemMenu: TPopupMenu;
FOnChangeSkinData: TNotifyEvent;
FOnBeforeChangeSkinData: TNotifyEvent;
FOnAfterChangeSkinData: TNotifyEvent;
FOnActivate: TNotifyEvent;
FOnDeActivate: TNotifyEvent;
FOnChangeRollUpState: TNotifyEvent;
FInChangeSkinData: Boolean;
FWindowState: TWindowState;
FMagneticSize: Byte;
OldAppMessage: TMessageEvent;
FOnActivateCustomObject: TbsActivateCustomObjectEvent;
FOnMinimize, FOnRestore, FOnMaximize: TNotifyEvent;
procedure CancelMessageToControls;
procedure CheckMDIMainMenu;
procedure CheckMDIBar;
procedure SetLogoBitMap(Value: TBitMap);
procedure SetShowIcon(Value: Boolean);
procedure UpDateActiveObjects;
procedure SetMenusAlphaBlend(Value: Boolean);
procedure SetMenusAlphaBlendAnimation(Value: Boolean);
procedure SetMenusAlphaBlendValue(Value: Byte);
function GetDefCaptionRect: TRect;
function GetDefCaptionHeight: Integer;
function GetDefButtonSize: Integer;
function IsSizeAble: Boolean;
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: TbsBorderIcons);
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 CreateSysMenu;
procedure CreateUserSysMenu;
procedure CreateSysTrayMenu;
function GetSystemMenu: TMenuItem;
procedure CalcRects;
procedure FormShortCut(var Msg: TWMKey; var Handled: Boolean);
procedure ChangeSkinData;
procedure CreateRollUpForm;
procedure RestoreRollUpForm;
procedure SetRollUpState(Value: Boolean);
procedure SetTrayIcon(Value: TbsTrayIcon);
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: TbsSkinData);
procedure SetMenusSkinData(Value: TbsSkinData);
procedure NewWndProc(var Message: TMessage);
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 SetAlphaBlendValue(Value: Byte);
procedure SetAlphaBlend(Value: Boolean);
procedure GetIconSize(var X, Y: Integer);
procedure GetIcon;
procedure DrawFormIcon(Cnvs: TCanvas; X, Y: Integer);
function GetUseSkinFontInMenu: Boolean;
procedure SetUseSkinFontInMenu(Value: Boolean);
function GetRealHeight: Integer;
procedure SetMaxMenuItemsInWindow(Value: Integer);
protected
InMenu: Boolean;
InMainMenu: Boolean;
FRgn: HRGN;
MouseTimer: TTimer;
MorphTimer: TTimer;
AnimateTimer: TTimer;
FMagnetic: Boolean;
FOnSkinMenuOpen: TNotifyEvent;
FOnSkinMenuClose: TNotifyEvent;
FOnMainMenuEnter: TNotifyEvent;
FOnMainMenuExit: TNotifyEvent;
FOnMouseEnterEvent: TbsMouseEnterEvent;
FOnMouseLeaveEvent: TbsMouseLeaveEvent;
FOnMouseUpEvent : TbsMouseUpEvent;
FOnMouseDownEvent : TbsMouseDownEvent;
FOnMouseMoveEvent: TbsMouseMoveEvent;
FOnPaintEvent: TbsPaintEvent;
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 GetFullDragg: Boolean;
function GetMinimizeCoord: TPoint;
procedure PointToNCPoint(var P: TPoint);
function CheckReturnKey: Boolean;
function CanNextMainMenuItem: Boolean;
function CanPriorMainMenuItem: Boolean;
function FindHotKeyItem(CharCode: Integer): Boolean;
procedure DoMagnetic(var L, T: Integer; W, H: Integer);
procedure TestMouse(Sender: TObject);
procedure TestMorph(Sender: TObject);
procedure TestAnimate(Sender: TObject);
procedure TestActive(X, Y: Integer; InFrm: Boolean);
procedure MouseDown(Button: TMouseButton; X, Y: Integer);
procedure MouseDBlClick;
procedure MouseMove(X, Y: Integer);
procedure MouseUp(Button: TMouseButton; X, Y: Integer);
function CalcRealObjectRect(R: TRect): TRect;
procedure CalcAllRealObjectRect;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure LoadObjects;
procedure LoadDefObjects;
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 SkinMainMenuClose;
procedure SkinMenuClose2;
procedure ArangeMinimizedChilds;
function GetAutoRenderingInActiveImage: Boolean;
procedure CheckControlsBackground;
function GetSkinnableForm: Boolean;
public
PreviewMode: Boolean;
SkinMenu: TbsSkinMenu;
FForm: TForm;
ObjectList: TList;
procedure SetSkinnableForm(Value: Boolean);
function GetProductVersion: String;
procedure ApplyPositionInMonitor;
function GetPositionInMonitor(AX, AY, AW, AH: Integer): TPoint;
procedure DoPopupMenu(Menu: TPopupMenu; X, Y: Integer);
procedure AddChildToMenu(Child: TCustomForm);
procedure AddChildToBar(Child: TCustomForm);
procedure RefreshMDIBarTab(Child: TCustomForm);
procedure DeleteChildFromMenu(Child: TCustomForm);
procedure DeleteChildFromBar(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: TbsActiveSkinObject);
//
procedure SetFormStyle(FS: TFormStyle);
procedure SetFormBorderStyle(BS: TFormBorderStyle);
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 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 SetEnabled(AIDName: String; Value: Boolean);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -