还是平滑滚动! (300分)

  • 主题发起人 主题发起人 reok
  • 开始时间 开始时间
R

reok

Unregistered / Unconfirmed
GUEST, unregistred user!
急急急!!! 在线等回复!!!
下面有段平滑滚动文本的源代码,可惜自己能力有限,调试不成功!
哪位大虾帮我一下,在新建project->win2000LogoApplication里调试一下,使richedit1能平滑滚动。谢谢!
QQ:378057878 mail:reok@163.com
Rect := GetClientRect;
MemoryDC := CreateCompatibleDC(Canvas.Handle);
MemoryBitmap := CreateCompatibleBitmap(Canvas.Handle, rect.Right, rect.Bottom);
SelectObject(MemoryDC, MemoryBitmap);
BrushHandle := CreateSolidBrush(ColorToRGB(Self.Color));
// SelectObject(MemoryDC, BrushHandle);
FillRect(MemoryDC, Rect, BrushHandle);

if FPlayed then
begin
SelectObject(MemoryDC, Font.Handle);
SetTextColor(MemoryDC, ColorToRGB(Font.Color));
SetBkMode(MemoryDc, TRANSPARENT);
Flags := DT_EXPANDTABS or DT_VCENTER or Alignments[Alignment];
Flags := DrawTextBiDiModeFlags(Flags);

DrawText(MemoryDC, PChar(FStrings.Text), -1, Rect, Flags);

BitBlt(Canvas.Handle, cx, cy, Rect.Right, Rect.Bottom,
MemoryDC, 0, 0, SRCCOPY);
end;
DeleteObject(MemoryBitmap);
DeleteDC(MemoryDC);

 
http://www.xp-program.com/delphi/d20040208.html
 
help!help!!help!!!
 
呵呵,您上面贴的是图片的 TextOut 代码,而您希望实现的是 RichEdit 文字滚动。
完全是两码事,就是把上面的代码改全了,也只是图片而不是文本。文本按像素滚动的演示
看:http://ale.xicp.net/upload/Demorol.rar ,没有代码,我也不知道他是怎么写的。
 
to 小雨哥:
你的那个演示的链接不行啊!
 
本来就有scroll滚动函数(具体名字记不得了),可以像素级滚屏。不过,滚过的地方(
屏幕下部)会出现空白,我当时试了试,不得要领,后来改用scrollbox,勉强可用。
 
你是要图象还是文字的滚动啊??? 说清楚一些.
 
var
R: LongInt;
begin
repeat
R := Memo1.Perform(EM_SCROLL, SB_LINEDOWN, 0);
Memo1.Update;
Sleep(100);
until LoWord(R) = 0;//发现滚动了0行当然得退出了!
end;
 
to iseek:
你说的是scrollby()函数!
 
to robot88:
要实现文字的平滑滚动,不知你有何高招?
 
AAlabel控件
 
对要是用文字的平滑显示的话,有一个控件不错,你用一个吧.特别好用,而且特别平滑
 
就用aafont嘛
 
后退
顶部