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

📄 suiskin_devexpress4.6.pas

📁 SUISkin 是为Delphi和C++Builder开发的最易用的界面增强VCL组件包。它能完全自动的为您的应用程序添加支持换肤功能
💻 PAS
字号:
////////////////////////////////////////////////////////////////////////////////
//
//
//  FileName    :   SUISkin_DevExpress.pas
//  Creator     :   Shen Min
//  Date        :   2005-04-21
//  Comment     :   SUISkin for DevExpress QuantumGrid support
//
//  Copyright (c) 2002-2005 Sunisoft
//  http://www.sunisoft.com
//  Email: support@sunisoft.com
//
////////////////////////////////////////////////////////////////////////////////
//
//  How to use:
//      Please add this unit to the "uses" clause of the unit where you
//  also inlcuded SUISkinEngine unit. And add this unit after SUISkinEngine.
//
//  E.g.
//
//  unit test;
//  interface
//  uses ..., SUISkinEngine, SUISkin_DevExpress;
//  ...
//  ...
//
//      Please set SkinAllForms to false for working with DevExpress controls.
//  And you can call AddForm() method of TsuiSkinEngine to skin other forms.

unit SUISkin_DevExpress;

interface

uses Classes, Windows,
     cxCheckBox, cxShellComboBox, cxDropDownEdit, cxLookAndFeels, dxDBGrid,
     SUISkinEngine, SUISkinUtils;

type
    TsuiSkinCxCheckBox = class(TsuiSkinControlVCL)
    protected
        procedure PaintControl(); override;    
    end;

    TsuiSkinCxComboBox = class(TsuiSkinControlVCL)
    private
        m_SavedKind : TcxLookAndFeelKind;
        m_SavedWnd : THandle;
    protected
        procedure PaintControl(); override;
        procedure DoInit(); override;
        procedure DoUninit(); override;
    end;


const
    SUISKIN_DEVEXP_DEF   : array [0 .. 4] of TsuiSkinCtrlVCLDef = (
        (CtrlClass : TcxCustomCheckBox;
         SkinCtrlClass : TsuiSkinCxCheckBox),
        (CtrlClass : TcxCustomShellComboBox;
         SkinCtrlClass : TsuiSkinScrollWinControl),
        (CtrlClass : TcxCustomComboBox;
         SkinCtrlClass : TsuiSkinCxComboBox),
        (CtrlClass : TcxCustomPopupEdit;
         SkinCtrlClass : TsuiSkinCxComboBox),
        (CtrlClass : TCustomdxDBGrid;
         SkinCtrlClass : TsuiSkinCxComboBox)
    );


implementation

procedure RegisterToSUISkinEngine();
begin
    RegisterSkinControlClass(SUISKIN_DEVEXP_DEF);
    
    RegisterBorderFilterClass('TcxControlScrollBar');
    RegisterBorderFilterClass('TcxGridSite');
    RegisterBorderFilterClass('TcxCheckGroup');    
    RegisterBorderFilterClass('TcxRadioGroup');
    RegisterBorderFilterClass('TcxCustomInnerTextEdit');
    RegisterBorderFilterClass('TcxCustomDropDownInnerEdit');
    RegisterBorderFilterClass('TcxCustomComboBoxInnerEdit');
    RegisterBorderFilterClass('TcxPopupCalendar');
    RegisterBorderFilterClass('TcxPopupCalculator');

    RegisterDisabledClass('TdxDockSite');
    RegisterDisabledClass('TdxLayoutDockSite');
    RegisterDisabledClass('TdxDockPanel');

    RegisterDlgFormClass('TfmFilterControlDialog');
    RegisterDlgFormClass('TcxFilterDialog');
    RegisterDlgFormClass('TdxFloatForm');
end;


{ TsuiSkinCxCheckBox }

procedure TsuiSkinCxCheckBox.PaintControl;
begin
    with TcxCheckBox(m_Control) do
    begin
        PaintRadioButtonLikeControl(Checked, Enabled, Style.Color, taRightJustify,
            suiSkinCenter, Width, ClientHeight, m_Engine, self, true, 3);
    end;
end;

{ TsuiSkinCxComboBox }

procedure TsuiSkinCxComboBox.DoInit;
begin
    inherited;
    m_SavedKind := TcxCustomComboBox(m_Control).Style.LookAndFeel.Kind;
    m_SavedWnd := TcxCustomComboBox(m_Control).Handle;
    TcxCustomComboBox(m_Control).Style.LookAndFeel.Kind := lfStandard;
end;

procedure TsuiSkinCxComboBox.DoUninit;
begin
    inherited;

    if (not IsWindow(m_SavedWnd)) or (m_Control = nil) then
        Exit;

    if not (csDestroying in m_Control.ComponentState) then
    begin
        TcxCustomComboBox(m_Control).Style.LookAndFeel.Kind := m_SavedKind;
    end;
end;

procedure TsuiSkinCxComboBox.PaintControl;
begin
    //PaintComboBoxLikeControl(m_Control, m_Engine, 0);
    //PaintComboButtonLikeControl(m_Control, m_Engine, 0);
end;

initialization
    RegisterToSUISkinEngine();

end.

⌨️ 快捷键说明

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