让AlphaControls改变DevExpress皮肤

Posted on 2012-01-21 23:57  墨者工作室  阅读(2796)  评论(2编辑  收藏  举报

     今天遇到个难题,安装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;

    ........................................

 

 

         效果非常漂亮!

 

Copyright © 2024 墨者工作室
Powered by .NET 8.0 on Kubernetes