1. 程式人生 > >DevExpress vcl 動態呼叫面板

DevExpress vcl 動態呼叫面板

dxSkinController可以在執行時動態調入面板,不用在設計期Use一大堆面板檔案。

把要用的面板用Skin Editor編輯一個SkinRes字尾的檔案,然後在程式中動態調入就可以了。


uses dxSkinsDefaultPainters;

procedure TForm1.FormCreate(Sender: TObject);
begin
cxComboBox1.Properties.Items.Clear;
dxSkinsUserSkinPopulateSkinNames(ExtractFilePath(ParamStr(0))+'\bsSkins.skinres',
cxComboBox1.Properties.Items);

cxComboBox1.ItemIndex:=0;
end;

procedure TForm1.cxComboBox1PropertiesChange(Sender: TObject);
begin
//這個地方必須是UserSkin,不然不會起作用
dxSkinController1.SkinName:='UserSkin';
dxSkinsUserSkinLoadFromFile(ExtractFilePath(ParamStr(0))+'\bsSkins.skinres',cxComboBox1.EditText);
end;

procedure TForm1.dxSkinController1SkinForm(Sender: TObject;

AForm: TCustomForm; var ASkinName: String; var UseSkin: Boolean);
begin
UseSkin:=false;

end;