软件“换肤”术
软件“换肤”术
withPanelidodraw_
rect(Fom2,left,top,width,height,
250,238,238,10,1,1):
wYthPanel2dodramt_rect(Form2,1eft,top,width,height, 250,238,238,10,l,1):
withPanel3dodra~l_rect(Form2,1eft,top,width,height, 250,238,238,l0,1,1);
withPanel4dodra~_rect(Fom2,1eft,top,width,height, 250,238,238,i0,i,1):
withPanel5dodra~_rect(Form2,1eft,top,width.height. 250,238,238,10,1,1);
withPanel6dodraw_rect(Fore2,left,top,width,height, 250,238,238,10,1.1):
withPanel7dodra~_rect(Form2,left,top,width.height. 250,238,238,10,1,1);
withPanel8dodra~l_rect(Form2,1eft,top,width.height. 250,238,238,10,1,1);
thPanel9dodraw_rect(Form2,1eft,top,width,height, 250,238,238.1O,1,1);
withPanel10dodra~Lrect(Form2,left.top,width,height, 250,238,238,i0,i,1):
thPanel1ldDdraw_rect(Form2,1eft,top,width. height*2+2,250,238,238,10,l,1);
thPanel13dodraw_rect(Form2,left,top,width,height, 250,238.238,10,1,1);
withPanel14dodrab_feet(Form2,left,top,width.height,
250,238,238.10,1,1);
thPanel16dDdraw_rect(Form2,left.top,width.height, 250,238,238,lO,l,1);
//以上画键盘
thsele_fundodra~_rect(Form2,left,top,width,height, 250,238,238,10.1,1);
thPanel15dodraw_rect(Fom2.left,top,222.height, 250,238.238.10.1,1);
thPanel15dodraw_rect(Fom2.left—n,top-ll,242,
350,250,258,238,1O,l,1);
end;
draw_srol1(Form2,291,5,0,470,250,200,100,12); withgddodraw_rect(Form2,left,top,width,height, 250,238.238,10,i,1);
withgkdodraw_rect(Form2,left,top,width,height, 250,238,238,10,1,1);
本文带有源程亭,该程字在Delphi6.O下调i式通过,
无需扩展控件支持,纯软件方式实现,在界面
上具
有很大的灵活性,与图片界面相比有其方便性,并且制
作出来的界面有自己鲜明的特色.
2
结束语
本文阐述了不借助OpenGL和Direct3D图形库自己
编程实现3D效果的方法,给出了实现一个键盘界面的完
整源代码.在工作中究竟使用什么来实现3D和其它效
果,要看工作性质而定,例如开发图形效果表现丰富的
游戏软件,就要用到OpenGL或Direct3D技术,至于一
些行业应用和工具软件一般使用手]:编程改善一下界面
投稿信箱:tougao@csdn,net
赦果即可,就像上面的代码,将比使用图形库的程序大 :大节省资源,而且易维护,易管理,兼容性也好.磐 尹小元,计算数学专业毕业,高级工程师,从事软 件开发工作,在网络应用,软件安全,软硬结合开发上 有一定的经验.曾在《计算机世界》,《程序员》等报刊 杂志上发表过技术文章.
软件"换肤"术
大家都知道大名鼎鼎的WINAMP播放器是支持"换 肤"的,也就是说,我们可以动态的改变窗体和控件的 背景图案,使窗体看起来十分漂亮,而且能够不断更换 新的面孔.那我们能让自己的程序也实现这样的效果 吗?答案是肯定的,但该怎么做呢?
要实现换肤,主要有三种方法:
1.提供多种背景图片,然后编程将这些图片设为 窗体的背景即可.
这种方法的好处是背景图片可以任意选择,从而 让你的程序可以天天都有新面孔.但不足之处在于如果 要一同更换窗体上的控件背景,就很不方便了,为让窗 体美观,不得不对每个图片的大小,尺寸等进行控制. 2.使用特定的多批成套图片进俐比量替换,这时, 用户只能在现成风格中选一种,不能自定义新的风格. 许多软件是采用这种方式的,比如金山词霸,OlCQ等. 采用这种方式,困难之处是一些特殊形状的控件 的背景处理以及操作可视化提示,比如圆形按钮,按下 与不按下,图片应是不一样的.
5.完全用代码"画"出来.这种方法是采用各种 语言和开发工具提供的绘图函数库直接在窗体上画出各 种控件出来,其优点是速度快,能实现采用现成控件难 以达到的效果,可以实现完全不同一般的用户界面,但
缺点也是显而易见的,其编码量非常大,对程序员的水 平
高.
在实际开发中,应该根据具体情况选择合适的方法. www.csdn.net,magazine4l