怎么做一个跑马灯的效果?

srxumin 2008-07-15 08:06:19
这在VB6里很容易实现:设置一个Picture容器控件,再放一个Label控件在里面,定时改变Label控件的Left属性,效果就出来了。但是在VC6里没有容器控件,该怎么实现?主要是没有思路。
...全文
529 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2008-07-16
  • 打赏
  • 举报
回复
先刷新,再重绘
srxumin 2008-07-16
  • 打赏
  • 举报
回复
我自己解决了,源代码如下:
void CTestDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default

CRect rect;
mPmd.GetWindowRect(&rect);
mKj.ScreenToClient(&rect);
rect.left+=5;
rect.right+=5;
mPmd.MoveWindow(&rect);

CDialog::OnTimer(nIDEvent);
}
原来是用错了控件,用成Group Box就不会重绘客户区,现在用static text就会自动重绘,谢谢各位的帮忙
srxumin 2008-07-16
  • 打赏
  • 举报
回复
Mackz ,我就是用了MoveWindow,出现了重绘问题,你看我在8楼的发言
菜牛 2008-07-16
  • 打赏
  • 举报
回复
既然用控件,就不要去绘制了,定时器中MoveWindow改变位置好了,也不会有重绘的问题。
长尾巴的悟空 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Mackz 的回复:]
这在VC里很容易实现:设置一个Static Text控件,定时改变Static Text控件的位置,效果就出来了。
[/Quote]

嘿嘿,这个方法和我想的一样.
schlafenhamster 2008-07-15
  • 打赏
  • 举报
回复
用定时器,每次刷新移动一定的距离
jyh_baoding 2008-07-15
  • 打赏
  • 举报
回复
定时改变,和VB的实现具体操作不一样,会更细致
Crob 2008-07-15
  • 打赏
  • 举报
回复
OnPaint里,定时的在Dialog的一个CRect区域中绘图,每次调整一个位移,可以做个计时器,在OnTimeer中,定时的this->InvalidateRect(rect)
菜牛 2008-07-15
  • 打赏
  • 举报
回复
这在VC里很容易实现:设置一个Static Text控件,定时改变Static Text控件的位置,效果就出来了。
srxumin 2008-07-15
  • 打赏
  • 举报
回复
掉下来了?顶上去
srxumin 2008-07-15
  • 打赏
  • 举报
回复
m_label.MoveWindow(10,10,100,20);
m_frame.Invalidate();
label是字符串
frame是父控件
我用了这两行重绘,还是会重叠,没用
  • 打赏
  • 举报
回复
要重绘,不然之前的还是会有的。
srxumin 2008-07-15
  • 打赏
  • 举报
回复
Mackz ,改变static text位置,它不是会在窗口中乱跑吗?
我试了给它的Parent属性指向一个控件,这样虽然实现了“父子关系”,也确实在一个控件中跑起来,但是跑的时候无法擦除原来的图像。

要么请各位大侠给段简短的代码看看?
devilnet 2008-07-15
  • 打赏
  • 举报
回复
m_rect1 static text 矩形
m_rect2 偏移的矩形
if(m_rect2.right < 0)
{
m_rect2.OffsetRect(2 * m_rect1.right, 0);
m_DlgGame->GetWindowDC()->DrawText(" ", m_rect2, DT_RIGHT);
}
else
{
m_rect2.OffsetRect(-1 * m_nMove, 0);
m_DlgGame->GetWindowDC()->TextOut(m_rect2.left, m_rect2.top, "跑马灯内容");
}
但是问题是移动后背景是白色的.

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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