当前位置:编程学习 > Delphi >>

delphi怎么做桌面滚动文字?

就是在桌面显示从TXT读取出来的字,并限制在1个框内移动(就是从框左边出现往右边移动并从框边消失)
我用HDC+textout只是读取字显示到桌面,不知道桌面移动
哪位大侠指点下啊,或用其他方法,最好有详细代码,其他无相关的回答无视之....
追问:那在输出到桌面移动怎么做呢?
答案:
这个非常简单,放一个Timer,设置interval 为200吧 这个看自己了 
然后看下面的代码
var
xpos:integer=0;
s:string='这里就是要滚动显示的字符串';
procedure TForm1.Timer1Timer(Sender: TObject);
var
arect:Trect;
begin
arect:=Rect(100,100,200,130);
canvas.FillRect(arect);
canvas.TextRect(arect,xpos,arect.Top,s);
dec(xpos,5);
if xpos<arect.Left-canvas.TextWidth(s) then xpos:=arect.Right;
end;

arect 就是限制要显示的范围了
int DrawText(
HDC hDC, // handle to DC
LPCTSTR lpString, // text to draw
int nCount, // text length
LPRECT lpRect, // formatting dimensions
UINT uFormat // text-drawing options
);
我知道MFC中有这个函数,不知道Delphi有没有、你找下这个函数。
他们都是基于VCL架构的,MFC可以直接使用Win API,如果Delphi可以的话,也可以用这个函数,希望能帮到你。
方法1:用第三方控件实现
方法2:自己写代码(在文本栏中,通过不断移动字体向左或者向右的操作来实现)
http://blog.csdn.net/formiss/archive/2008/05/15/2448408.aspx看一下这个
我刚学DELPHI两天,还不是很清楚   呵呵

上一个:求一本delphi的书
下一个:谁会用delphi设计页面?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,