2015-07-02 25 views
0

dxSkinController1将整个应用程序的表单更改为选定的外观。但是,我希望排除一些表单。我怎样才能做到这一点 ?从dxSkinController1中排除表单

+0

我假设你的意思是'TdxSkinController'组件? –

+0

是的,当然... – user763539

回答

0

上找到的DevExpress网站:

https://www.devexpress.com/Support/Center/Question/Details/B136071

procedure SetControlSkinName(AControl: TWinControl; const ASkinName: string); 
var 
    AIntf: IcxLookAndFeelContainer; 
    I: Integer; 
begin 
    if Supports(AControl, IcxLookAndFeelContainer, AIntf) then 
    begin 
    AIntf.GetLookAndFeel.NativeStyle := False; 
    AIntf.GetLookAndFeel.SkinName := ASkinName; 
    end; 
    for I := 0 to AControl.ControlCount - 1 do 
    if AControl.Controls[I] is TWinControl then 
     SetControlSkinName(TWinControl(AControl.Controls[I]), ASkinName); 
end; 


procedure TForm1.dxSkinController1SkinForm(Sender: TObject; AForm: TCustomForm; 
    var ASkinName: string; var UseSkin: Boolean); 
begin 
if AForm = Form1 then 
    begin 
    ASkinName := 'Metropolis'; 
    UseSkin := True; 
    SetControlSkinName(AForm, ASkinName); 
end; 
end; 

这实际上应用了期望的皮肤所需的形式。要排除表单的其余部分,只需将dxSkinController1的NativeStyle设置为false即可。