急盼:应用程序中如何实现Foxmail中的从右向左滚动提示字幕?

ILoveEagles 2003-09-21 11:32:24
达到的效果:
1、从右向左滚动提示字幕;
2、文字内容是数据库的内容;
3、每条字幕前有图标;
4、能够及时更新;
5、鼠标点击能够定位到相应的数据库记录。
...全文
47 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
ILoveEagles 2003-10-06
  • 打赏
  • 举报
回复
一会结帖。为什么许多人没看完题就急着答?
ly_liuyang 2003-10-05
  • 打赏
  • 举报
回复
还不结贴?
都说了
组件http://www.digicraft.com.au/delphi/
chenylin 2003-10-05
  • 打赏
  • 举报
回复
不好意思,有一个笔误,更正如下:

1、放一控件PaintBox和Timer;
2、在Timer的OnTimer事件中写下代码:
i:=i-1;(定义为全局变量)
if i<=-PaintBox.Canvas.TextWidth(AdoDataSet.FieldByname('字段名').asString) then
begin
Adodataset.next;
if Adodataset.eof then adodataset.first;
i:=PaintBox.Width;
end;
PaintBox.Canvas.TextOut(i,0,AdoDataSet.FieldByname('字段名').asString);

以上代码实现从右向左推进;
3、在PaintBox的OnClick事件中写入代码:
Showmessage('单击'+AdoDataSet.FieldByname('字段名').asString);
chenylin 2003-10-05
  • 打赏
  • 举报
回复
1、放一控件PaintBox和Timer;
2、在Timer的OnTimer事件中写下代码:
i:=i-1;(定义为全局变量)
if i<=-PaintBox.Canvas.TextWidth(AdoDataSet.FieldByname('字段名').asString) then
begin
Adodataset.next;
if Adodataset.eof then adodataset.first;
i:=PaintBox.Width;
PaintBox.Canvas.TextOut(i,0,AdoDataSet.FieldByname('字段名').asString);
end;
以上代码实现从右向左推进;
3、在PaintBox的OnClick事件中写入代码:
Showmessage('单击'+AdoDataSet.FieldByname('字段名').asString);
ILoveEagles 2003-10-04
  • 打赏
  • 举报
回复
没人愿意具体说一下吗?
ILoveEagles 2003-10-03
  • 打赏
  • 举报
回复
那位能提供一些解决问题的简单步骤?
xiaoyuer0851 2003-10-02
  • 打赏
  • 举报
回复
呵呵, 这个俺也想过很久了,还有个问题就是
如果能够取地循环的那个值,因为滚动字模的值 是不一样的哦
seion 2003-10-02
  • 打赏
  • 举报
回复
UP
ILoveEagles 2003-09-28
  • 打赏
  • 举报
回复
能提供例子吗? 多谢
ILoveEagles 2003-09-27
  • 打赏
  • 举报
回复
补充说明:
1、我是希望滚动显示多条未读讯息;
2、讯息通过Datasource获得;
3、每条讯息前有图标;
4、点击当前讯息,进入当前讯息浏览窗口;
飞翔的老虎 2003-09-27
  • 打赏
  • 举报
回复
rx有个控件
改变left(定时)
ly_liuyang 2003-09-27
  • 打赏
  • 举报
回复
自己写都很简单的
有组件的http://www.digicraft.com.au/delphi/
ILoveEagles 2003-09-26
  • 打赏
  • 举报
回复
我先做一下。多谢!
FrameSniper 2003-09-25
  • 打赏
  • 举报
回复
支持Ingener的方法

具体做法D5开发指南上有很详细的说明
ILoveEagles 2003-09-25
  • 打赏
  • 举报
回复
那位能具体说一下,能够满足问题的所有要求。急呀!
甜而不腻 2003-09-24
  • 打赏
  • 举报
回复
使用CANVAS里的属性。

Canvas.TextRect(Rect(0,0,60,20),5,5,'hello,world!');

这里的数值你可以用变量代替,然后放到一个时间控件的事件里。
diazo 2003-09-24
  • 打赏
  • 举报
回复
windows api:animatewindow
ILoveEagles 2003-09-24
  • 打赏
  • 举报
回复
难道没人愿帮忙吗?
ILoveEagles 2003-09-22
  • 打赏
  • 举报
回复
to ahpei(老人家) : 组件名字?
hkbarton 2003-09-21
  • 打赏
  • 举报
回复
可以用label实现,自己做个这样的控件应该不难
加载更多回复(2)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧