DevExpress vcl 動態呼叫面板
阿新 • • 發佈:2018-12-05
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;