MFC 输出文字的问题,在界面上(Dialog还是View都行),一秒输出一个文字,一句话输完。

换行,输出第二行。还是一个字一个字。第二句输完,在同样输出第三行。在线等,求教大神,谢谢!... 换行,输出第二行。还是一个字一个字。第二句输完,在同样输出第三行。在线等,求教大神,谢谢! 展开
 我来答
大卫去哪儿了
2013-01-11
知道答主
回答量:25
采纳率:0%
帮助的人:8.5万
展开全部
setTimer()设置一个一秒的定时器,然后添加一个onTimer()的相应函数,在ontimer中用getDC到窗口DC,剩下的就是基本功了,楼主可以追问
更多追问追答
追问
在ontimer中用getDC到窗口DC,剩下的就是基本功了  ,这里不是太明白,麻烦您了。用switch 不行。这里怎么用DC呢?方便您可以加下我Q 443205090,,非常感谢!
追答
getDC的到dc后你就可以利用dc的TextOut 函数向窗口中输出文字,TextOut(intx,inty,LPCTSTRlpszString,intnCount);这个函数可以指定文字输出位置,你要做的就是控制输出位置,和输出内容,怎样解释行不,不行就私信吧
sky9988227
2013-01-11 · 超过24用户采纳过TA的回答
知道答主
回答量:115
采纳率:100%
帮助的人:65.8万
展开全部
其实“大卫hdw”说的意思就在ontimer里面实现你输出的字,你要输出什么就在这里实现,timer设置为一秒就实现你的需求了。很简单的。
追问
CClientDC dc(this);
TEXTMETRIC tm;
dc.GetTextMetrics(&tm);

dc.SetTextColor(RGB(0,255,0));
dc.SetBkColor(RGB(245,245,245));
m_nWidth+=5;// 按5个像素点递增
v_rect.left=0;
v_rect.right=m_nWidth;
v_rect.top=30;
v_rect.bottom=v_rect.top+tm.tmHeight;
CString lv_str=_T("wwwwwwwwweweqw");
dc.DrawText(lv_str,v_rect,DT_LEFT);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友56ffa15
2013-01-11 · 超过12用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:24.6万
展开全部
注意定时器的应用就可以满足你的需求
追问
CString lv_str=_T("wwwwwwwwweweqw");
CString lv_str2=_T("fffsdfsfsfs");
CString lv_str3=_T("fffsdfsfdfsfeffewfewesfs");
比如这么三个字符串。从第一个字符串的第一个字符输出,一个一个输出,直到第三行输出结束。一个字符串一行!谢谢
追答
OnTimer(UINT nIDEvent)
{
switch (m_iCount)
{
case 1:
break;
case 2:
break;
case 3:
break
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式