VC++,用MFC 实现文字滚动
具体的是这样的:有一个菜单项ID_TEXTMOVE,它对应的消息处理函数是C123CView::OnTestMove(),在点击该菜单后,调用消息处理函数,在视图区出现滚...
具体的是这样的:
有一个菜单项 ID_TEXTMOVE,它对应的消息处理函数是
C123CView::OnTestMove(),在点击该菜单后,调用消息处理函数,在视图区出现滚动的字幕。
附有源代码最好。
真诚的希望的到你的帮助。
guozhiqian@163.com 展开
有一个菜单项 ID_TEXTMOVE,它对应的消息处理函数是
C123CView::OnTestMove(),在点击该菜单后,调用消息处理函数,在视图区出现滚动的字幕。
附有源代码最好。
真诚的希望的到你的帮助。
guozhiqian@163.com 展开
3个回答
展开全部
1。在C123CView类中添加public成员变量int x;//用来标记字幕显示的横向坐标
并在构造函数中初始化x=50;
2。添加OnTimer消息响应函数,添加代码:
CDC *pDC=GetDC();
pDC->TextOut(x,50,"good");
x++;
3。C123CView::OnTestMove()中添加代码:
SetTimer(1,10,NULL);//每10毫秒调用ontimer函数,如果要改变滚动速度,只要变更函数第二个参数的大小。
这是简单的,如有其他需要在这上面改改就好
程序已发到你油箱
并在构造函数中初始化x=50;
2。添加OnTimer消息响应函数,添加代码:
CDC *pDC=GetDC();
pDC->TextOut(x,50,"good");
x++;
3。C123CView::OnTestMove()中添加代码:
SetTimer(1,10,NULL);//每10毫秒调用ontimer函数,如果要改变滚动速度,只要变更函数第二个参数的大小。
这是简单的,如有其他需要在这上面改改就好
程序已发到你油箱
展开全部
应该不会太难,主要要考虑的问题有:
1. 计时器,在计时器中
a. 把字符的第一位挪到最后一位
b. 调用InvalidateRect(滚动区域);UpdateWindow();
2. 在OnDraw里调用DrawText(...)
3. 中文Unicode问题,建议使用VS2005,有CStringW,如果只是滚动英文的话就简单了。
4. OnTestMove() { OnTimer(); SetTimer(); }
先调用一次OnTimer,立即显示。
1. 计时器,在计时器中
a. 把字符的第一位挪到最后一位
b. 调用InvalidateRect(滚动区域);UpdateWindow();
2. 在OnDraw里调用DrawText(...)
3. 中文Unicode问题,建议使用VS2005,有CStringW,如果只是滚动英文的话就简单了。
4. OnTestMove() { OnTimer(); SetTimer(); }
先调用一次OnTimer,立即显示。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我有个做类似东西的视频教程,给我邮箱,我发给你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询