📄 suiskin_devexpress4.6.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 + -