社区
community_281
帖子详情
有趣的问题(第一个回答完整得分200)
czq
2000-08-07 06:59:00
怎么样做类似于winamp的skin (皮肤)
200 分可不是白给得哟
要求
1:编程思想
2:小小demo 或者(哪有这方面的资料 源代码软件)
3: delphi 或者 vc++
...全文
718
18
打赏
收藏
有趣的问题(第一个回答完整得分200)
怎么样做类似于winamp的skin (皮肤) 200 分可不是白给得哟 要求 1:编程思想 2:小小demo 或者(哪有这方面的资料 源代码软件) 3: delphi 或者 vc++
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
czq
2000-09-29
打赏
举报
回复
flyby 你好 请给我一份
flyby
2000-09-26
打赏
举报
回复
我做了一个,而且是透明的!
要不要我Email给你(delphi做的)?
tibetty
2000-08-23
打赏
举报
回复
应该比较简单吧,有没有做过全自画的按钮之类的东东,SKIN不过是把自画的位图变成可以定制的而已。
Erlin
2000-08-23
打赏
举报
回复
关注
hotbaby
2000-08-23
打赏
举报
回复
用ActiveSkin又快又好
zboat
2000-08-23
打赏
举报
回复
看源码吧!!
zboat
2000-08-23
打赏
举报
回复
我看软件换皮肤问题
目前,据我个人了解软件换皮肤有两种方案:
1、就是上面大家所说读写ini文件,换换图啊文字啊之类,只要明白不规则窗口和事件处理,努力一下不难实现,注意不止Windows下可以实现,其他平台也可以实现(只要能画图)。这种方法实现的换肤往往换来换去还是象一个模子出来的,怎么实现皮肤的自由更换呢?第二种方法可行。
2、这第二种方法就一种软件插件技术,这种技术不但可以用于界面更换还可以更换软件的内部模块。说明起来有点麻烦,最核心的是软件内部维护一个自己事件队列,象Windows一样,软件核心负责自己的事件分发,界面部分只是Event target而已。界面针对核心发来的命令或状态信息来改变。大家想一想一个操作系统可以有不同的Shell部分就明白了。
我这有这两种方案的资料,要想用于商业软件还要做许多工作,大家谁需要和我联系。
dandycheung
2000-08-23
打赏
举报
回复
也可以给我发邮件。
dandycheung
2000-08-23
打赏
举报
回复
这个问题其实也不是很难。
1、要解决位图->区域->窗口形状的转换,这是最主要的界面上的不规则按钮之类的东西,都可以用它来实现。用C+Win32 API写成的原码可以在dandy.163.net上找到。
2、制定良好的界面配置文件规则。一般要保存位置信息,功能关联,相关图片等信息
3、编程从配置文件中读出所需信息,主要跟踪鼠标的状态及动作。
其他我一下子也想不周全了,容后再叙吧。
flyby
2000-08-17
打赏
举报
回复
关注
华南虎哥
2000-08-13
打赏
举报
回复
兴趣问题,极度关注
知行职场-雷曼
2000-08-12
打赏
举报
回复
你可也是把图片放在一个目录中第次LOAD窗体的时候先把图片显示出现不就行了吗?
而且还可以像winamp 一样多SKINS的
shines77
2000-08-11
打赏
举报
回复
这个问题我可以回答,关注。
Wingsun
2000-08-09
打赏
举报
回复
要说的东西比较多,而且比较难得说清楚他的原理。反正是从一个配置文件中读取到SKin的信息,然后,根据这些信息生成相应的菜单、按钮等控件,形成一个新的界面。有一个例子你可以看一看,用VC写的.到如下地址去看一看:http://www.codetools.com/dialog/skinsyse/skinsyse.zip
spring
2000-08-09
打赏
举报
回复
转载自:http://www6.163.com/news/p-item/0,1587,it_5529_it,00.html
首先,在窗体上放一个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.
你还可以在此基础上继续向窗体上添加各种控件。因为这只是一个示例,所以就没有加那些。另外,严格得说,“换肤”指令应该在菜单中(即MainMenu控件中,其实也很简单)。
czq
2000-08-08
打赏
举报
回复
!!1
czq
2000-08-08
打赏
举报
回复
完了 完了 我还要交差!!
各位大虾们 发发慈悲吧! 要不提示一下!!!
czq
2000-08-08
打赏
举报
回复
这么过隐的东西 没人回答!!
BS-GX-019 在线题库及考试系统
本项目是一个基于WEB的试题库分析与管理系统,系统由三端构成:教师端、学生端及管理员端。教师用户具有如下功能模块:登录模块、公告信息模块、个人信息模块、课程信息模块、题库管理模块、试卷管理模块和成绩统计模块。(1)登录模块:教师可以使用账号和密码登录系统。(2)公告信息模块:教师可以查看由管理员发布的公告。(3)个人信息模块:教师可以修改个人基本信息和登录密码。(4)课程信息模块:教师可以查看自己所有的课程信息。(5)题库管理模块:教师可以向试题库中添加自己所授课程的试题,并对试题进行管理。(6)试卷管理模块:教师可以添加试卷,可以从试题库中抽取一定数量的各种题型的试题组成试卷,并对试卷进行管理。(7)成绩统计模块:教师可以查看学生答题的详细信息和
得分
。学生用户具有如下功能模块:登录模块、公告信息模块、个人信息模块、课程信息模块、答题模块、查看
得分
和错题模块。(1)登录模块:学生可以使用账号和密码登录系统。(2)公告信息模块:学生可以查看由管理员发布的公告。(3)个人信息模块:学生可以修改个人基本信息和登录密码。(4)课程信息模块:学生可以查看课程信息。(5)答题模块:学生可以浏览试卷信息并参与答题。(6)查看成绩模块:学生可以查看自己的答题结果、
得分
。(7)错题分析模块:学生可以查看自己的错题信息。管理员具有如下功能模块:登录模块、公告管理模块、班级管理模块、学生管理模块、教师管理模块、课程管理模块和系统管理模块。(1)登录模块:管理员可以使用账号和密码登录系统。(2)公告管理模块:管理员可以发布系统公告,对系统公告进行修改、删除操作。(3)班级管理模块:管理员可以对班级信息进行管理。(4)学生管理模块:管理员可以添加学生账号,对学生的信息进行管理操作。(5)教师管理模块:管理员可以添加教师账号,对教师的信息进行管理操作。(6)课程管理模块:管理员可以对课程信息进行管理操作。(7)系统管理模块:管理员可以查看登录日志,修改账号的密码。
智慧树课程问答怎么
得分
目录 智慧树课程问答怎么
得分
国际交流英语答案2021 智慧树课程问答怎么
得分
第一:下图时我的互动分,总分20得满分。 第二:每天
回答
一个题或评论可以提高贡献度。 第三:提问【简单
问题
】让同学们都会解答。 第四:每当提问一个
问题
可以让同学
回答
一下。 第五:
回答
完成
问题
自己给自己点一个赞。 第六:不要随便评论,认真
回答
问题
。 国际交流英语答案2021 ...
C语言——竞赛评分
Description 现举行一次小竞赛,参赛的3支队伍,编号为1、2、3。每支队列轮流
回答
问题
,如果
回答
正确加10分;
回答
错误扣10分;放弃
回答
不
得分
。经过多轮答题后,我们要统计各队的名次和
得分
。 每支队伍参加比赛的初始分数都是0分,经过多轮答题后,分数可能为负分。 Main Goal: 结构体练习 Input 第一行为
回答
问题
的轮次数n。 其余各行分别为1、2、3号队...
n个评委给m个选手打分python_青年歌手参加歌曲大奖赛计分系统:有N个评委进行打分,求这位选手的平均
得分
(去掉一个最高分和一个最低分...
问题
描述:青年歌手参加歌曲大奖赛计分系统:有N个评委进行打分,求这位选手的平均
得分
(去掉一个最高分和一个最低分我写的是10个评委的,可输出的结果和用计算器算出的不一样...各位大神请在我的源程序上帮忙改下,注意要去掉一个最高分和一个最低分...注明下,#includevoid main(){int i,j,min;float temp,ave=0;float a[11];printf("\n输入评...
OpenJudge百炼习题解答(C++)--题2704:竞赛评分
题: 总时间限制: 1000ms 内存限制: 65536kB 描述现举行一次小竞赛,参赛的3支队伍,编号为1,2,3.每支队列轮流
回答
问题
,如果
回答
正确,加10分;
回答
错误,扣10分;放弃
回答
不
得分
.经过多轮答题后,我们要统计各队的名次和
得分
. 输入第一行为
回答
问题
的轮次数n. 其余各行分别为1,2,3号队伍答题的结果,
回答
正确为right,错误为wrong,放弃为give
community_281
594
社区成员
254,047
社区内容
发帖
与我相关
我的任务
community_281
提出问题
复制链接
扫一扫
分享
社区描述
提出问题
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章