DevExpr dxLayoutControl not skinned

Viewing 3 posts - 1 through 3 (of 3 total)
  • Author
    Posts
  • #52278
    Support
    Keymaster

    You can add this type as 'Panel' and change used SkinSection:

    Code:
    procedure TForm8.sSkinProvider1SkinItemEx(Item: TComponent; var CanBeAdded: Boolean; SkinParams: PacSkinParams);
    begin
    if Item is TdxLayoutControl then
    SkinParams.SkinSection := 'TRANSPARENT';
    end;
    #52285
    HeDiBo
    Participant
    'Support' wrote:

    You can add this type as 'Panel' and change used SkinSection:

    Code:
    procedure TForm8.sSkinProvider1SkinItemEx(Item: TComponent; var CanBeAdded: Boolean; SkinParams: PacSkinParams);
    begin
    if Item is TdxLayoutControl then
    SkinParams.SkinSection := 'TRANSPARENT';
    end;

    I hope your suggestion is only for a temporary solution. It will not work at design time.

    A permanent solution may be found in overriding this function in cxLookAndFeelPainters:

    Code:
    function LayoutControlEmptyAreaColor: TColor; virtual;

    or overriding this one:

    Code:
    procedure DrawLayoutControlBackground(ACanvas: TcxCanvas; const R: TRect); virtual;

    I'm not sure which is best.

    Thanks!

    #52289
    HeDiBo
    Participant

    The solution happens to be much simpler:

    Add TdxLayoutControl to the ThirdParty components and set it as TPanel if you want a skinned layout control. Set dxLayoutControl1.ParentBackground to True if you want transparency.

    Sorry for all the fuss :blush:

    Problem solved :a3:

Viewing 3 posts - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.