MFC中创立了两个静态文本框,用于显示从txt文件中读取的文本,如何能让两个文本框同时显示 20

显示方法:filePathName="e:/txt/caption2.txt"if(!file.Open(filePathName,CFile::modeRead))//... 显示方法:
filePathName="e:/txt/caption2.txt"
if(!file.Open(filePathName,CFile::modeRead)) //
{
MessageBox("can not open file!"); //Windows API函数,显示一个小对话框“can not open file!”
return;
}
CString strLine;
while(file.ReadString(strLine))
{
char *str = strLine.GetBufferSetLength(strLine.GetLength());
m_strText = _T(strLine); //m_strText为文本框1关联的变量
UpdateData(false);
delay(1); //每隔1秒循环显示一次
}
这是部分代码,目前的情况是只有当文本框1中的文字显示完后才能显示文本框2中的文字,文本框一中的文字在显示过程中无法对对话框中的其余控件进行任何操作,求解决方法,是不是delay的问题?还是别的什么问题?求各位高手赐教
展开
 我来答
bhtzu
2014-04-09 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4198万
展开全部
如果你是用两个while顺序来做显示,那么,肯定是不能同时完成“逐行”刷新文本框。

用定时器做可以完成你的需求。
在上面代码所在区域保存文件句柄或字符串到类成员变量,然后SetTimer(1,1000);//1000毫秒间隔,在定时器OnTimer里面做每一次的显示即可(大致相当于两个循环体内部的代码)。
追问
麻烦能再具体点么?之前没用过OnTime和SetTime,您说的“在上面代码所在区域保存文件句柄或字符串到类成员变量”,能否给个例子?万分感谢
追答
没法结合你的代码给例子,都是分散的代码。
百度搜“VC 定时器 OnTimer”,有很多讲解文章,不粘贴了。
契卡契
2014-04-09 · 超过17用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:43.3万
展开全部
可能是我看错了,但你的循环不就是要先显示完1么?
追问
循环的目的是要让文本可以重复的显示,我对MFC的运行机制不是很清楚,我觉得在这过程中至少可以中断进程或者使用其他控件之类吧?是不是需要创建新的线程?
追答
中间为什么要等待呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式