delphi怎么做桌面滚动文字?
就是在桌面显示从TXT读取出来的字,并限制在1个框内移动(就是从框左边出现往右边移动并从框边消失)我用HDC+textout只是读取字显示到桌面,不知道桌面移动哪位大侠指...
就是在桌面显示从TXT读取出来的字,并限制在1个框内移动(就是从框左边出现往右边移动并从框边消失)
我用HDC+textout只是读取字显示到桌面,不知道桌面移动
哪位大侠指点下啊,或用其他方法,最好有详细代码,其他无相关的回答无视之.... 展开
我用HDC+textout只是读取字显示到桌面,不知道桌面移动
哪位大侠指点下啊,或用其他方法,最好有详细代码,其他无相关的回答无视之.... 展开
5个回答
2013-08-08
展开全部
这个非常简单,放一个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 就是限制要显示的范围了
然后看下面的代码
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 就是限制要显示的范围了
2013-08-08
展开全部
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可以的话,也可以用这个函数,希望能帮到你。
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可以的话,也可以用这个函数,希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-08
展开全部
方法1:用第三方控件实现
方法2:自己写代码(在文本栏中,通过不断移动字体向左或者向右的操作来实现)
方法2:自己写代码(在文本栏中,通过不断移动字体向左或者向右的操作来实现)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-08
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-08
展开全部
我刚学DELPHI两天,还不是很清楚 呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询