社区
Delphi
帖子详情
怎样用delphi实现skin技术?
netsong
2000-08-31 03:06:00
...全文
485
14
打赏
收藏
怎样用delphi实现skin技术?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
musicmate
2000-12-10
打赏
举报
回复
算了
我来说几句
用coolform动态生成form和button就可以实现skin
如果是winamp,有现成控件
我修改的版本马上就会出现在我的站点
示范程序
http://musicmate.myetang.com/
lumg_2000
2000-09-13
打赏
举报
回复
我这儿有一篇文章关于delphi换肤的文章:
首先,在窗体上放一个Image控件,一个Button控件和一个OpenDialog控件。
然后,修改属性。将窗体的Caption属性改为Test Skin Program;将Image控件的Align属性改为alClient,将Stretch属性改为True;将Button控件的Caption属性改为Skin。其余属性不变。
最后,输入代码吧!
unit mainform;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls,inifiles, jpeg, Menus;
//一定要将inifiles单元加入uses
type
TForm1 = class(TForm)
Image1: TImage;
OpenDialog1: TOpenDialog;
Button1: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R*.DFM}
procedure TForm1.FormCreate(Sender: TObject);
Var
SkinINI : Tinifile;
SkinPicture : String;
begin
SkinINI := TiniFile.Create('c:\my documents\skin.ini');
SkinPicture:=SkinINI.ReadString('Interface','skin','');
//将“皮肤”的图片信息存储在SKIN.INI文件中。当然,你还可以将更多的信息存进该文件中。
//例如:SKIN.INI
//[interface]
// skin = c:\my documents\mylove.jpg
IF SkinPicture<>'' then
Begin
try
Image1.Picture.LoadFromFile(SkinPicture);
except
end;
End;
SkinINI.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
SkinINI : Tinifile;
SkinPicture : String;
Success : Boolean; //指示换肤是否成功
begin
SkinINI := TiniFile.Create('c:\my documents\skin.ini');
SkinPicture:=SkinINI.ReadString('Interface','skin','');
OpenDialog1.Filter:='All Image File(*.jpg;*.jpeg;*.bmp;*.ico)|*.jpg;*.jpeg;*.bmp;*.ico|'+
'Bitmaps(*.bmp)|*.bmp|'+
'Jpeg Image File(*.jpg;*.jpeg)|*.jpeg;*.jpg|'+
'Icons(*.ico)|*.ico';
Success:=True;
IF OpenDialog1.Execute then
Begin
try
Image1.Picture.LoadFromFile(OpenDialog1.Filename);
except
Application.MessageBox('This file is not load!','Error!',MB_OK);
Success:=False;
end;
IF Success then SkinINI.WriteString('interface','skin',OpenDialog1.Filename);
//若换肤成功,将图片信息存进skin.ini文件中
End;
SkinINI.Free;
end;
end.
netsong
2000-09-12
打赏
举报
回复
不好意思,几天没来。:)
alin
2000-09-04
打赏
举报
回复
就跟PoolD说的那样,像WINAMP就是那样做的,不过要复杂一点,要将图片的事件与位置关联起来,更复杂的如一些特别的MP3播放器,像手机模样的,像圆盘样的等等,就要特殊处理了,我给你的控件就能处理.我的主页在http://alin.heha.net,应该猜得到的吧^_^
netsong
2000-09-04
打赏
举报
回复
我真笨,呵呵,看到了
netsong
2000-09-02
打赏
举报
回复
to alin: 你的网址在哪?
alin
2000-09-01
打赏
举报
回复
又错了,SORRY,http://alin.heha.net/mydown/component/coolformd5.zip
alin
2000-09-01
打赏
举报
回复
错了,应是http://alin.heha.net/moydown/component/coolformd5.zip
alin
2000-09-01
打赏
举报
回复
用这个控件可以完成http://alin.heha.net/moydown/component/collformd5.zip
alin
2000-09-01
打赏
举报
回复
有源码呢
另:Windows 有个函数,是专门对不规则窗体的,SKIN只是一种很简单的方法,我的主页上有一个我写的程序,你可以看看,很简单,像WINAMP那样就太简单了,它是规则的窗体.要想做出好的来,如中间是透明的,且鼠标可以在其中点后面的东西,这就要用到掩码图形等,我给你的控件就很好地解决了,源码很容易看懂的
PoolD
2000-09-01
打赏
举报
回复
以form背景为例:
启动时查找指定文件名的bmp文件,如果存在且尺寸等正确的话,则读入并绘于form的Canvas上。
其它的(按钮、文字)也是一样的。
netsong
2000-09-01
打赏
举报
回复
我想听听原理和实现方法,只用控件怎么进步呀!
这么多分呐!
yinfudan
2000-08-31
打赏
举报
回复
I will give you my source code on this Saturdat!!!
Please wait and give me your points.
51go
2000-08-31
打赏
举报
回复
i expect u can get its key...sorry..i donot know about it...
Skin
#皮肤破解版
Skin
Sharp是Windows环境下一款强大的通用...
Skin
Sharp可以在不修改客户程序的基础上,对在Windows上运行的任何程序进行随意换肤,完全
实现
了将程序界面与业务逻辑彻底分离,从而可以让您轻松地完成程序界面的完美升级
HOOK
实现
软件皮肤的DEMO
使用HOOK
技术
进行软件换肤的一个demo。想研究软件皮肤
技术
的同仁可以看看。
Delphi
XE10零基础实战快速入门
通过课堂上一个一个的实战例子,演示
Delphi
XE10的用法,最后通过一个完整的通讯录程序,让学员初步掌握软件开发的全部流程 让零基础学员快速入门
Delphi
编程,快速掌握
Delphi
的使用方法,并能够制作出自己的软件来。...
VC
实现
炫眩qq界面的模拟(附源码)
读者可下载源码,看它是怎么绑定
实现
的。 基本整个复杂而超眩的项目就在完成向导创建后调用两到三个第三方接口函数中完成。坦白说,整个换肤开发包提供的接口函数相当简练,就10多个,功能与使用方法亦是相当明了,...
vc++ 应用源码包_1
利用
Delphi
的代码在VC中显示JPG图片,不使用动态连接库。 Mail_Report.zip 一个邮件报告程序。 SrcFirstProg.zip 解释了最基本的MFC程序流程。 tabcontrol_demo.zip tabcontrol_src.zip 自定义的标签控件对话框...
Delphi
5,388
社区成员
262,731
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章