求教~~实现在MFC视图里面显示一行滚动的文字??

xuxujian 2006-12-04 06:05:08
void CMyView::OnDraw(CDC* pDC)
{
CMyDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
CRect rect;
GetClientRect(&rect);
for(int width=1;width<rect.Width();width=width+20)
{
pDC->TextOut(width,30,"欢迎使用Visual C++面向对象编程教程");
Invalidate();
Invalidate(TRUE);
if (width >= rect.Width())
width = 0;
Sleep(500);
}
}

我是这样写的,但是运行出来以后,太卡了

怎么用的别的方法写啊?〉??

求教具体的过程啊

谢谢~~~
...全文
225 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuxujian 2006-12-04
  • 打赏
  • 举报
回复
谢谢啦

我再去研究一下~~~~~~~~
一分之千 2006-12-04
  • 打赏
  • 举报
回复
楼主的滚动可以在利用设置定时器来实现
OnInitial里设置定时器
SetTimer(1,20,NULL);
在OnDraw里输出字体pDC->TextOut(width,30,"欢迎使用Visual C++面向对象编程教程");
添加消息函数WM_TIMER
CxxxView::OnTimer(..)
{
CRect rect;
GetClientRect(&rect);
if(width<rect.width())
{
width+=20;
}
else
{
width=0;
}
invalidate(TRUE);
}
双缓冲
==================
在OnDraw(CDC *pDC)中:
CDC MemDC; //首先定义一个显示设备对象
CBitmap MemBitmap;//定义一个位图对象
//随后建立与屏幕显示兼容的内存显示设备
MemDC.CreateCompatibleDC(NULL);
//这时还不能绘图,因为没有地方画 ^_^
//下面建立一个与屏幕显示兼容的位图,至于位图的大小嘛,可以用窗口的大小
MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
//将位图选入到内存显示设备中
//只有选入了位图的内存显示设备才有地方绘图,画到指定的位图上
CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
//先用背景色将位图清除干净,这里我用的是白色作为背景
//你也可以用自己应该用的颜色
MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));
//绘图
MemDC.MoveTo(……);
MemDC.LineTo(……);
//将内存中的图拷贝到屏幕上进行显示
pDC->BitBlt(0,0,nWidth,nHeight,&MemDC,0,0,SRCCOPY);
//绘图完成后的清理
MemBitmap.DeleteObject();
MemDC.DeleteDC();
xuxujian 2006-12-04
  • 打赏
  • 举报
回复
改称20好多了

谢谢啊

还有就是怎么双缓冲??
Y___Y 2006-12-04
  • 打赏
  • 举报
回复
最好用双缓冲
Y___Y 2006-12-04
  • 打赏
  • 举报
回复
Sleep(500);能不卡吗
width=width+20
改为width++;
Sleep(500);
改为Sleep(20);
效果会好一点

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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