FoxSkinManager
<p>FoxSkinManager,FoxUI提供的皮肤管理组件
它配合foxstdform 和foxddform来实现窗体皮肤化。
<strong>属性</strong>
DpiSet FoxUI 罗列了从100%到 400%的范围内的各个DPI配置</p>
<p>Skins 皮肤项目集合</p>
<p><del>//WorkBmp 所有的皮肤都记录在这种图上 新版已经去掉此属性</del></p>
<p>SkinInfo 皮肤信息
Name 皮肤名称
Desc 皮肤描述
Author 皮肤作者
Ver 皮肤版本</p>
<p>提供的事件</p>
<p>OnSkinChange 皮肤项变化的时候触发</p>
<p>OnSkinPassCode 当载入皮肤需要密码的时候触发</p>
<p>OnSkinPassError 皮肤密码错误的时候触发</p>
<p>OnGetSkinBmp 动态指定绘制的图像 这个我们可以在图像输出的时候指定和修改图像 比如
if Aitem.Index=37 then //需要动画
begin
Rbmp.Delete;
Rbmp.SetSize(Aitem.DPIWidth,Aitem.DPIHeight); //设定当前图像大小
Rbmp.MasterAlpha:=Abmp.MasterAlpha; //保留透明设置
Abmp.DrawTo(Rbmp,Rbmp.BoundsRect,Aitem.GetDPIRect);//取出原图
RotateBmp32(Rbmp,tmr1.Tag); //旋转动画
Abmp:=Rbmp; //指定图像
Aitem.DrawRect:=Rbmp.BoundsRect; //图片已经改变我们需要指定源图取图区域
end;</p>
<p>OnSkinAllowChangeAlpha 是否允许修改图片透明度</p>
<p>功能和函数</p>
<p><del>//procedure UpdateSkinItem(Item:TFoxSkinItem);//更新项目 已经开发了皮肤的图片属性可以直接访问</del></p>
<p>procedure SaveSkinFile(sf:string;PassCode:string='');//保存皮肤配置</p>
<p>procedure LoadSkinFile(sf:string:passCode:String='');//载入皮肤配置</p>
<p>procedure SaveToStream(Stream:TStream);//输入到内存流</p>
<p>procedure LoadFromStream(Stream:TStream);//从内存载入</p>
<p>function AddSkinItem:TFoxSkinItem;//直接动态加载皮肤项</p>
<p>function ValidSkinIndex(skinIndex:Integer):Boolean;//检查皮肤项是否有效</p>
<p>procedure ClearSkin;//清除皮肤</p>
<p>function IsSkinVaild:boolean;//检查载入的皮肤包是否有效</p>
<p>Procedure GetSkinByName(Aname:String):TFoxSkinItem //更加名称获取皮肤项目</p>