主窗体拖放dxSkinController控件,设置其SkinName属性为UserSkin,NativeStyle=False,UseSkins=True;
在窗体OnCreate事件上写代码:
sSkinFile := ExtractFilePath(ParamStr(0)) + 'AllSkins.skinres';
dxSkinsUserSkinLoadFromFile(sSkinFile, 'SkinName');
dxSkinController1.NativeStyle:=False;
dxSkinController1.UseSkins:=True;
另外dxSkinsUserSkinPopulateSkinNames函数可以获取全部皮肤名称列表.
将ExpressSkins Library\Binary Skin Files目录下的AllSkins.skinres文件拷贝到exe同目录下即可.
问题1:MessageBox皮肤问题:不建议使用默认的对话框,可以自己建个Form模仿对话框.
问题2:滚动条问题:将TcxScrollBar控件注册为控件.
问题3:创建Form模拟对话框的时候,如果使用png格式的图片来标识警告,信息,疑问等对话框种类,需要将png图片放置到资源文件中(直接使用cxImageList出现底色无法实现透明效果).这时可以下载一个resourceBuilder工具生成RCDATA类型的资源.本来可以使用brcc32来生成res文件,但是总报错.将生成的res文件加入到pas文件中(使用{$R XXX.res}指令).需要使用png图片的时候使用如下语句加载:
oPng := TPNGObject.Create;ResourceBuilder需要注册,可以下载Brcc32资源编辑器来制造res资源文件.