1.引用Dll皮膚文件
Type
procedure SetSkin(skinnam:string);
Type
procedure SetSkin(skinnam:string);
procedure TFrmMain.SetSkin(skinnam:string);
var
Hinst:THANDLE;
RStream:TResourceStream;
begin
Hinst:=Loadlibrary('ALLSK.dll');
If Hinst=0 Then
Exit
else
begin
Rstream:=TResourceStream.Create(Hinst,skinnam,'MYSKIN');
dxSkinsUserSkinLoadFromStream(Rstream);
dxSkinController1.NativeStyle:=False;
dxSkinController1.UseSkins:=True;
end;
end;
var
Hinst:THANDLE;
RStream:TResourceStream;
begin
Hinst:=Loadlibrary('ALLSK.dll');
If Hinst=0 Then
Exit
else
begin
Rstream:=TResourceStream.Create(Hinst,skinnam,'MYSKIN');
dxSkinsUserSkinLoadFromStream(Rstream);
dxSkinController1.NativeStyle:=False;
dxSkinController1.UseSkins:=True;
end;
end;
procedure TFrmMain.Button1Click(Sender: TObject);
begin
setskin('Office2007Blue');
end;
begin
setskin('Office2007Blue');
end;
2.有效減小使用皮膚後軟件體積巨大的方法:
一. DELPHI的主菜單: Project -> Modify Skin Options ,彈出Project Skin Options
Editor 對話框,從列表中,只選擇: UserSkin這一項,取消Enable skin Support的勾,
點OK退出. (注意:此步驟需DEV40以上版本纔有效)
Editor 對話框,從列表中,只選擇: UserSkin這一項,取消Enable skin Support的勾,
點OK退出. (注意:此步驟需DEV40以上版本纔有效)
二. 從Dev Express 項下選擇dxSkinController控件,添加到工程,設置dxSkinController1的SkinName屬性設爲:UserSkin ;
三. 代碼:(對RES皮膚有效,在程序文件夾裏需要先建一個叫Skin的文件夾)
procedure TFrmMain.Button1Click(Sender: TObject);
var str:string;
begin
str:='Xmas2008Blue.skinres'; //可自行修改
dxSkinsUserSkinLoadFromFile(Trim(ExtractFilePath(Application.ExeName)) + '\skin\' + str);
dxSkinController1.NativeStyle:=False;
dxSkinController1.UseSkins:=True;
end;