用Delphi如何实现多幅图片轮换的效果?

假设G盘文件夹里有3张图片,分别是1.jpg,2.jpg,3.jpg,想在Delphi的窗口中实现这3幅图的自动轮换,该怎么做?望高手指点~能不能把具体代码写出来?... 假设G盘文件夹里有3张图片,分别是1.jpg,2.jpg,3.jpg,想在Delphi的窗口中实现这3幅图的自动轮换,该怎么做?望高手指点~
能不能把具体代码写出来?
展开
 我来答
Oo木叶之魂oO
2010-12-05 · TA获得超过1036个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:419万
展开全部
将三张图片放在一起重叠起来,然后加一个timer组件,在ontimer里面写代码,用一个变量i来计数,每秒i自增1,大于3以后初始化为1,所以i可以取1,2,3三个值,每秒变一次
当i=1的时候就让图片1的visible属性为true,图片2,3的visible属性为false;
当i=2的时候就让图片2的visible属性为true,图片1,3的visible属性为false;
当i=3的时候就让图片3的visible属性为true,图片1,2的visible属性为false。。。
这样就可以实现三张图片每秒轮换一下,当然,可以设置timer的interval属性来改变时间间隔,每两秒,每三秒都可以。。。
哪里不懂的就密我吧

i在代码最上边var后面定义
var
Form1: TForm1;
i:integer;
ontimer代码:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if (i<>1) and (i<>2) and (i<>3) then i:=1;
if i=1 then
begin
image1.Visible:=true;
image2.Visible:=false;
image3.Visible:=false;
end;
if i=2 then
begin
image1.Visible:=false;
image2.Visible:=true;
image3.Visible:=false;
end;
if i=3 then
begin
image1.Visible:=false;
image2.Visible:=false;
image3.Visible:=true;
end;
i:=i+1;
end;
vpitvo
2010-12-05 · TA获得超过705个赞
知道小有建树答主
回答量:1709
采纳率:0%
帮助的人:828万
展开全部
如果你把图片作为大字段存入数据库:
1 界面上放一个dbimage控件,对应表中图片字段.
2 在定时器中控制表记录循环,代码如下:
if table1.eof then
table1.first;

if not table1.eof then
table1.next;

如果你把图片路径存入数据库,图片还在硬盘上某个位置,那么:
1 界面上放一个image控件
2 在定时器中控制表记录循环,同时改变图片的路径属性。代码如下:
if table1.eof then
table1.first;

if not table1.eof then
begin
image1.picture.loadfromfile(table1.fieldbyname('picdir').asstring);
table1.next;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式