• 让AlphaControls改变DevExpress皮肤


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

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

             效果非常漂亮!

  • 相关阅读:
    对数据库进行增删改查操作
    Chromium网页Graphics Layer Tree创建过程分析
    苹果产品设计中鲜为人知的10个细节
    翻翻git之---自己定义邮件发送buttonSendButton(流程分析,实现思路能够学习下)
    pascal+sublime搭建Pascal学习环境
    我们的一个已投产项目的高可用数据库实战
    开源 免费 java CMS
    上海居住证续签流程须知
    【LeetCode OJ 232】Implement Queue using Stacks
    Android学习笔记之:android更新ui的几种经常用法
  • 原文地址:https://www.cnblogs.com/carcode/p/2328709.html
Copyright © 2020-2023  润新知