VCLSkin组件使用、Delphi界面美化图文教程

只要在程序的任何一个窗体里加入SkinData组件,设置好相关属性,则所有这个程序
【菜科解读】
VCLSkin是个方便而且功能强大的界面加强型组件包。
只要在程序的任何一个窗体里加入SkinData组件,设置好相关属性,则所有这个程序里出现的窗体(包括对话框)都具有设置好的界面风格。
SkinStore组件又可以把一些皮肤文件预先存在里面,供SkinData随时调用,表现出程序的多种风格。
下面简单地介绍它的用法。
1. VCLSkin综述VCLSkin 是一个能让Delphi程序变得非常漂亮的控件包. 它允许允许软件开发人员不用修改程序代码便把软件界面变得非常漂亮。
它的美化支持窗体和控件和菜单。
VCLSkin同时也提供了大量高质量的skin(皮肤)让你应用于你的程序。
2. VCLSkin特点VCLSkin 是一个用于让用户的程序界面更加漂亮的扩展控件。
它允许软件开发人员不用修改源代码就能让他们的程序界面更加漂亮。
一个标准的程序界面能在窗体放入VCLSkin控件后变得非常漂亮,而这公公需要几分钟的时间。
VCLSkin 能做些什么 ?不像其它控件那样,你需要修改源代码才能构建一个漂亮的界面, VCLskin 能让Delphi的标准控件在一下子就变得非常漂亮,而这一切都不用修改源代码。
VCLSkin 支持以下的窗体: * Delphi Form * MDIform . (normal,Maximized, MInimized) * Common Windows dialogs (Open/Save,Font,Print,Color). * MsgBox. * Exception MsgBox.VCLSkin 支持的标准控件: * The title bar of TForm * The title bar buttons * The borders of Tform * Tbutton,TBitbtn. * Tradiobutton and Tcheckbox * Tmainmenu and Tpopupmenu * Toolbar buttons * TTabcontrol and TPageControl * T Progressbar * TStatusbar * TCustomCombox,Tcombobox, TDbCombobox * TPanel and TGroupbox * TMemo, TListBox,TListView,TTreeview * TRadioGroup , TDBRadioGroup. * TCustomGrid,TStringgrid,TDrawgrid,Tdbgrid. * Third party component, Enlib, AdvGrid ..同时也支持大量的第三方控件。
3.安装你可以像安装其它控件一样安装这夽控件,其实就这几步: 1. 解压缩 Vclskin2.zip 到任意目录 2. 在 Delphi IDE 环境中选择菜单 "File. Open...", 然后找到连接库 vclskindX.dpk, 按着点击Compile按钮。
3. 在 Environment 添加VCLSkin控件所在的路径。
*****************************************************************************************1. TSkinDataTSkinData 主要用于美化你的程序, 只要把TSkinData控件放下去,它就能自动美化所有窗体。
属性Active: 使用或取消对程序的美化。
DisableTag: 取消对某个特定的组件的美化; 把组件的Tag属性设为99就行了。
(control.tag mod 100=disabletag)SkinControls: 指定哪类组件能被美化.SkinFile: skin(皮肤)文件的包含路径的文件名,在运行时加载。
SkinStore: 在设计模式时储备的skin文件.SkinFormType: 能使用多种美化方式.方法LoadFromStream(Stream: TStream);LoadFromFile(value:string);LoadFromCollection(astore:TSkinStore;aindex:integer);在运行时装载skin文件.UpdateSkinControl(fParent:Tform);UpdateMenu(fParent:Tform);在运行时组件创建时进行美化。
事件OnFormSkin(Sender:TObject;aName:string;Var DoSkin:boolean);OnFormSkin 事件的发生先于美化窗体, 如果 Doskin 为 true, Vclskin 就会美化这个窗体, 如果为false,Vclskin 就会跳过这个窗体. aName 是窗体的类名.OnSkinChangned(Sender:TObject);OnSkinChanged 发生在skin文件改变之后。
2. TSkinStoreTSkinStore 能让你在设计模式时储存多个skin文件。
TSkinData 能在运行时从 TSkinStore 装载skin文件:TSkinData.LoadFromCollection(astore:TSkinStore;aindex:integer),3. 怎么美化程序界面你可以在几分钟内构建一个漂亮的程序.1 把 TSkindata 控件放在主窗体上。
2 设置 Skindata.skinstore 属性 , 把skin文件储存在你的程序中。
3 设置 Skindata.active = true4 编译运行你的程序。
4. VCLSkin FAQ1 如果我的工程中有14个窗体,用不用每个窗体都放一个skin控件?不用,你只需要放置一个Tskindata在你的主窗体,Vclskin就能自动美化每个窗体。
2 怎样美化一个内嵌的窗体 ?Vclskin 不能自动美化内嵌窗体,你要手动控制它。
压缩包中有一个"NestedForm"的例子,讲的是在运行状态美化内嵌窗体、框架的。
3 怎样美化动态控件 ?你需要手动控制它。
代码如下:control:=Tmycontrol.create(form1);skindata1.UpdateSkincontrol(form1); // add this line to skin dynamic control.4 怎样美化依靠窗体 ?Vclskin 支持停靠窗体. 例程代码如下:procedure TDockableForm.FormShow(Sender: TObject);beginif MainForm.skindata1.active then MainForm.skindata1.skinform(handle);end;5 怎么美化动态的右键菜单 ?例程代码如下:popup:=Tpopupmenu.create(form1);..... add menuiteskindata1.UpdateMenu(form1); //add this linepopup.popup(x,y);6 怎样美化动态窗体 ?Vclskin 可以美化动态窗体 , 但不能自动美化内嵌窗体. 点击这儿查看如何美化内嵌窗体.7 找不到文件 'c:\program files\borland\delphi7\SM\winskindata.pas'Delphi7 试用版与Delphi7正式版的Dcu文件格式是不一样的。
如果你使用的是正式版,你可以安装一个演示包。
vclskin2.zip.如果你使用的是试用版,你可以安装一个演示包。
D7trial.zip.8 使用 FastReport 时,出现了“无效操作,控件没有父窗体的的错误提示 ?设置 TSkindata.skincontrols.xcFastReport = true 就可以解决这个问题。
9 使用 ReportBuilder 出现了“无效操作,控件没有父窗体的错误提示?你可以在 TSkindata.OnformSkin 事件中取消美化这个控件。
代码如下 :procedure Tform1.SkinData1FormSkin(Sender: TObject;aName: String; var DoSkin: Boolean);begin//'TppPrintPreview' 就是要取消美化的窗体名称。
if aName='TppPrintPreview' then doskin:=false;end;10 如何存取skin文件的颜色?你可以借助 Tskindata.colors[] 属性来存取颜色。
比如说 , 窗体的背景色是 : skindata.Colors[csButtonFace].TShemeColor=(csText,csTitleTextActive,csTitleTextNoActive,csButtonFace,csButtonText,csButtonHilight,csButtonlight,csButtonShadow,csButtonDkshadow,csSelectText,csSelectBg,csHilightText,csHilight,csMenuBar,csMenuBarText,csMenuText,csMenubg,csScrollbar,csTextDisable);TShemeColors=array[csText..csTextDisable] of Tcolor;Skindata.Colors: TShemeColors;11 用户能自定义那些可视化控件的外观吗?你可以使用 skin builder自定义细节.12 怎样取消美化某个窗体或控件?设置 form.tag=99 取消 美化这个窗体。
13 如何在美化一个工程的窗体标题栏和菜单的风格?设置 TSkindata.skincontrols.xcMainmenu = false
先建立一个新工程,加入一些常见的组件。
运行结果的界面如图9.18所示。
然后加入一个SkinData控件,把Active属性设为True。
再单击SkinStore属性的带省略号的按钮,选择VCLSkin自带的一个皮肤文件macos.skn。
然后,编译,运行,结果如图9.19所示。
图9.18 原始程序 图9.19 加入VCLSkin组件后的效果
此处将程序界面从原来古板的样貌变成Mac Os风格没有用一行代码,只设了SkinData的属性。
下面我们结合SkinStore组件讲讲程序中“换肤”的做法。
在窗体上加入一个SkinStore组件,在Object Inspector中单击Store后面的带省略号的按钮,出现如图9.20所示的窗体。
单击图标,新生成一个SkinStore,可以像上面设置SkinData的SkinStore那样设置好它的属性。
创建多个SkinStore,存入多个皮肤。
然后在窗体的按钮上加入如下代码(代码的作用是当程序运行中按下Button1时,SkinData1会从SkinStore1中读取第1个皮肤,并显示出来):
procedure TForm1.Button1Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(SkinStore1,1);
end;
类似地,加入以下代码:
procedure TForm1.Button3Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(SkinStore1,2);
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
SkinData1.LoadFromCollection(SkinStore1,3);
end;
“换肤”功能完成了。
在程序中按下那几个按钮,程序界面的风格就会相应改变。
图9.21示出了两个例子。
图9.21 VCLSkin的另两种皮肤效果
VCLSkin的功能远不止如此,我们挑几个说一下:
· DataSkin有个DisableTag属性。
默认值是99。
如果窗体上哪个组件的Tag值是99的话,DataSkin不会对这个组件起作用。
· 支持MDI窗体。
· 支持通用Windows对话框(打开,保存文件等)。
· SkinControls属性可以设置对哪类控件起作用。
· 在一个程序中不同窗体可以有不同皮肤风格。
VCLSkin,组件,使用,、,Delphi,界面,美化,图河南许昌社保卡可以当银行卡使用吗
接下来随新社通app小编一起了解具体详情吧。
一、河南许昌社保养老金的计算公式是什么?河南许昌职工社保卡交满15年拿多少?根据河南许昌退休养老金计算公式,人们的养老金肯定包括基础养老金和个人账户养老金两部分,部分参保时间较早、工作时间较长的职工会有过渡性养老金这一待遇。
河南许昌基础养老金计算公式=河南许昌最新的养老金计发基数(1+本人平均缴费指数)÷2缴费年限1%。
河南许昌个人账户养老金计算公式=退休时养老保险个人账户的余额÷退休年龄确定的计发月数。
河南许昌过渡性养老金计算公式,是每一个省份都不一样,是根据当地省份的情况来制定的。
影响河南许昌养老金高低的五大因素。
根据上面所说的养老金计算公式情况,影响养老金高低的五大因素主要是退休地所在的养老金计发基数、缴费年限、本人的平均缴费指数、养老保险个人账户余额、退休年龄确定的计发月数。
由于过渡性养老金并不是所有人都有,所以就不单独说了。
①退休地所在的养老金计发基数,各地说实话相差还是比较大的。
②缴费年限,是包括实际缴费年限和视同缴费年限,这是计算养老金的一项极其重要因素。
其他因素都相同的情况下,养老金是跟缴费年限成正比的。
比如说缴费15年可以领取1500元的情况下,缴费30年可以领取3000元,缴费40年可以领取4000元。
③本人的平均缴费指数,主要是根据缴费基数和计算平均缴费指数使用的社平工资来计算的。
类似于缴费档次,一般在0.6~3之间。
平均缴费指数越高,计算出来的基础养老金就越高。
但是,不要指望最后一两年按照高基数缴费,可以领取高养老金。
平均缴费指数计算,是所有实际缴费年限平均的。
④养老保险个人账户的余额,这主要是看前期的积累了。
不过由于缴费基数上下限的影响,过去我们缴费基数较低,因此个人账户积累也不多。
近年来由于缴费基数提高,个人账户记账利率的提升,因此个人账户的余额才在快速积累。
⑤退休年龄确定的计发月数,这实际上是一种晚退多得的体现。
50岁的计发月数是195个月,55岁是170个月,60岁是139个月。
退休越晚,计划越数越小,相同个人账户余额情况下的个人账户养老金就越高。
各地公布的具体方案不同,个人情况也不同,具体需以个人情况及当地有关部门法规为准。
二、河南许昌职工社保卡每年需要缴纳多少?最新如下 社保卡每年交多少?以秦某职工社保为例: 由上图得知,秦某社保卡一年需要缴纳4423.64元,职工个人月缴纳368.64元,若您想要了解明细点击新社通社保计算器,来了解一下明细吧。
》点击新社通app社保计算器,轻松了解你的社保缴费明细!提示:新社通社保计算器计算所得,数据仅供参考。
每个城市每年设定的最低缴纳基数(即劳动者月收入)各有差异,但总体上遵循着相似的原则,即按比例进行缴纳。
龙鱼身上有红点回事:患上出血病?使用敌菌灵医治
不过在饲养龙鱼的过程中,可能会遇到龙鱼身上出现红色斑点的情况,这原因是什么呢?一起来了解一下吧。
龙鱼身上有红点如何回事如果龙鱼身上出现了红点,可能是因为龙鱼患上了出血病。
有很多真相会导致龙鱼患上出血病,例如水温太低、水质太差、细菌感染等。
因为龙鱼喜欢生活在温暖的环境里,对水温有着比较高的要求,所以如果饲养龙鱼时长期让龙鱼处于低温的环境当中,龙鱼身体表面就会受到刺激,从而导致有许多红点出现在体表的情况。
此外,龙鱼对水质也有着比较高的要求,如果龙鱼生活的水质有着太多的杂质和脏东西,龙鱼同样会受到刺激,容易患上出血病,从而在身上出现红点。
如果饲养者长时间不给龙鱼换水的话,水质就会逐渐恶化,会有大量的细菌在水里生殖生长,细菌在进入龙鱼身体之后,就会在体表出现充血的情况,身上也就会有很多红点。
龙鱼身上有红点如何医治如果龙鱼身上出现了红点,可能是因为出血病导致的。
这种情况需要饲养者把鱼缸里水的温度提高到26摄氏度以上,同时保持水温的恒定,这样子不会对龙鱼产生刺激。
之后可以将龙鱼转到阳光充足的地方,能够通过光线照射帮助龙鱼杀菌消毒,加快龙鱼痊愈的速度。
如果龙鱼患上出血病的情况比较严重,饲养者还需要将龙鱼捞出来单独医治,可以使用3-5ppm的敌菌灵对患病的龙鱼进行药浴,每次药浴10-15分钟,每天药浴一次,持续一周左右即可痊愈。
感兴趣的朋友还可以了解一下龙鱼嘴巴烂了如何治。