今天遇到个难题,安装AlphaControls后,CxGrid并没有跟着必变,网上找了很久也没有结果,最好发现AlphaControls本身是支持DEV组件的,只是默认是不改变,不过在inc文件中已经预定义了。有一个关键性文件sDefs.inc:
{ ---- Definitions by Serge V. Goncharov ---- }
// -- 3rdparty support start -- //
{.$DEFINE DEVEX} // DevExpress, LookAndFeel.NativeStyle property must be False
{.$DEFINE USEPNG} // Support of TPngImageList from PngComponents
{.$DEFINE TNTUNICODE} // Enable Unicode support by TntControls
// -- 3rdparty support finish -- //
// -- Experimental features -- //
{.$DEFINE USEAERO} // Use system shadows in Aero
{.$DEFINE NOSLOWDETAILS} // Simplified output without slow effects
{ ------------------------------------ }
{.$DEFINE DISABLEPREVIEWMODE} // If key is enabled then preview code is excluded
{.$DEFINE NOWNDANIMATION} // Disable animation effects for dialogs and forms
{.$DEFINE CHANGEFORMSINDESIGN} // Changing the forms colors in design-time
{.$DEFINE SKININDESIGN} // Skin control in frames in design-time
{.NOACPNG} // Do not use AlphaControls Png loader
{.$DEFINE ALITE} // Free Lite Edition
{ ---- End defs by Serge V. Goncharov ---- }
=------------这是文件的部分内容,以下是改过的内容:
{ ---- Definitions by Serge V. Goncharov ---- }
// -- 3rdparty support start -- //
{$DEFINE DEVEX} // 《==============将前面的一个小点"."删除就OK
{.$DEFINE TNTUNICODE} // Enable Unicode support by TntControls
// -- 3rdparty support finish -- //
// -- Experimental features -- //
{.$DEFINE USEAERO} // Use system shadows in Aero
{.$DEFINE NOSLOWDETAILS} // Simplified output without slow effects
{ ------------------------------------ }
{.$DEFINE DISABLEPREVIEWMODE} // If key is enabled then preview code is excluded
{.$DEFINE NOWNDANIMATION} // Disable animation effects for dialogs and forms
{.$DEFINE CHANGEFORMSINDESIGN} // Changing the forms colors in design-time
{.$DEFINE SKININDESIGN} // Skin control in frames in design-time
{.NOACPNG} // Do not use AlphaControls Png loader
{.$DEFINE ALITE} // Free Lite Edition
{ ---- End defs by Serge V. Goncharov ---- }
AlphaControls在acLFPainter单元中已经对DEV皮肤进行了覆盖。
unit acLFPainter;
{$I sDefs.inc} //这里将预定义字符编译进单元
// WARNING! This unit is compatible with Devexpress version 2011
// for older versions the acLFPainter6 unit should be used
{$DEFINE VER653}
{$DEFINE VER650}
{$DEFINE VER645}
{$DEFINE VER640}
{$IFDEF VER653}
{$DEFINE VER650}
{$ENDIF}
{$IFDEF VER650}
{$DEFINE VER645}
{$ENDIF}
{$IFDEF VER645}
{$DEFINE VER640}
{$ENDIF}
{$IFNDEF VER645}
{$UNDEF VER650}
{$ENDIF}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs{$IFNDEF DELPHI5}, Types{$ENDIF},
sSkinManager, sStyleSimply, sMaskData, cxLookAndFeelPainters, cxGraphics, cxClasses, ImgList, dxCore;
type
TsDevExProvider = class(TComponent)
end;
TcxACLookAndFeelPainter = class(TcxStandardLookAndFeelPainter)
public
function LookAndFeelName: string; override;
// colors
function DefaultContentColor: TColor; override;
function DefaultContentEvenColor: TColor; override;
function DefaultContentOddColor: TColor; override;
function DefaultContentTextColor: TColor; override;
function DefaultEditorBackgroundColor(AIsDisabled: Boolean): TColor; override;
function DefaultEditorBackgroundColorEx(AKind: TcxEditStateColorKind): TColor; override;
function DefaultEditorTextColor(AIsDisabled: Boolean): TColor; override;
function DefaultEditorTextColorEx(AKind: TcxEditStateColorKind): TColor; override;
function DefaultFilterBoxColor: TColor; override;
function DefaultFilterBoxTextColor: TColor; override;
function DefaultFixedSeparatorColor: TColor; override;
function DefaultFooterColor: TColor; override;
function DefaultFooterTextColor: TColor; override;
function DefaultGridDetailsSiteColor: TColor; override;
function DefaultGridLineColor: TColor; override;
function DefaultGroupByBoxColor: TColor; override;
function DefaultGroupByBoxTextColor: TColor; override;
function DefaultGroupColor: TColor; override;
function DefaultGroupTextColor: TColor; override;
function DefaultHeaderBackgroundColor: TColor; override;
function DefaultHeaderBackgroundTextColor: TColor; override;
function DefaultHeaderColor: TColor; override;
function DefaultHeaderTextColor: TColor; override;
function DefaultHyperlinkTextColor: TColor; override;
function DefaultInactiveColor: TColor; override;
function DefaultInactiveTextColor: TColor; override;
function DefaultPreviewTextColor: TColor; override;
function DefaultRecordSeparatorColor: TColor; override;
function DefaultSizeGripAreaColor: TColor; override;
function DefaultVGridCategoryColor: TColor; override;
function DefaultVGridCategoryTextColor: TColor; override;
function DefaultVGridLineColor: TColor; override;
function DefaultVGridBandLineColor: TColor; override;
function DefaultDateNavigatorHeaderColor: TColor; override;
function DefaultDateNavigatorSelectionColor: TColor; override;
function DefaultDateNavigatorSelectionTextColor: TColor; override;
function DefaultSchedulerBackgroundColor: TColor; override;
function DefaultSchedulerTextColor: TColor; override;
function DefaultSchedulerBorderColor: TColor; override;
function DefaultSchedulerControlColor: TColor; override;
function DefaultSchedulerNavigatorColor: TColor; override;
function DefaultSchedulerViewContentColor: TColor; override;
function DefaultSchedulerViewSelectedTextColor: TColor; override;
function DefaultSchedulerViewTextColor: TColor; override;
function DefaultSelectionColor: TColor; override;
function DefaultSelectionTextColor: TColor; override;
function DefaultSeparatorColor: TColor; override;
function DefaultTabColor: TColor; override;
function DefaultTabTextColor: TColor; override;
function DefaultTabsBackgroundColor: TColor; override;
........................................
效果非常漂亮!