MFC 输出文字的问题,在界面上(Dialog还是View都行),一秒输出一个文字,一句话输完。
3个回答
展开全部
setTimer()设置一个一秒的定时器,然后添加一个onTimer()的相应函数,在ontimer中用getDC到窗口DC,剩下的就是基本功了,楼主可以追问
更多追问追答
追问
在ontimer中用getDC到窗口DC,剩下的就是基本功了 ,这里不是太明白,麻烦您了。用switch 不行。这里怎么用DC呢?方便您可以加下我Q 443205090,,非常感谢!
追答
getDC的到dc后你就可以利用dc的TextOut 函数向窗口中输出文字,TextOut(intx,inty,LPCTSTRlpszString,intnCount);这个函数可以指定文字输出位置,你要做的就是控制输出位置,和输出内容,怎样解释行不,不行就私信吧
展开全部
其实“大卫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);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
注意定时器的应用就可以满足你的需求
追问
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
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询