⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_66339.htm

📁 vc
💻 HTM
字号:
<p>
序号:66339 发表者:天地之间 发表日期:2003-12-23 22:24:39
<br>主题:【求救】文本框的显示?
<br>内容:基于对话框的MFC程序:<BR><BR>在一个对话框上有一个文本框,一个按钮;<BR>单击按钮:<BR>{<BR>SetDlgItemText(IDC_EDIT1,&#34;aaa&#34;);<BR>for (int i=0;i&lt;5;i++) Sleep(1000)&nbsp;&nbsp;//循环5秒;&nbsp;&nbsp;<BR>}<BR>程序运行结果为:先等5秒,然后在文本框上显示“aaa”。<BR><BR>如果我想先在文本框上显示“aaa”,在循环5秒怎么办???<BR><BR>各位大侠们,请教了!!!!&nbsp;&nbsp; 
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:浪际天涯 回复日期:2003-12-24 01:37:57
<br>内容:Sleep的延时会占用所有的资源,而不能处理其它的消息,所以虽然你对编辑框置了值,但MFC并没有来得及处理这个消息,只有想办法去抢占CPU的时间去处理这个消息.<BR>第一种方法:(这种方法也会有上点延迟才显示)<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetDlgItem(IDC_EDIT1)-&gt;SetWindowText(&#34;aaaa&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;MSG msg;<BR>&nbsp;&nbsp;&nbsp;&nbsp;int i=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(GetMessage(&amp;msg,this-&gt;m_hWnd,0,0))<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::DispatchMessage(&amp;msg);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::TranslateMessage(&amp;msg);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sleep(1000);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(i==5)break;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>第二种方法:(使用线程--定时器或其它,这是定时器的例子)<BR>void CDdDlg::OnButton2() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;GetDlgItem(IDC_EDIT1)-&gt;SetWindowText(&#34;aaaa&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;SetTimer(1,10,NULL);<BR>}<BR><BR>void CDdDlg::OnTimer(UINT nIDEvent) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;5;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sleep(1000);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(i==5)KillTimer(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnTimer(nIDEvent);<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-24 10:10:23
<br>内容:GetDlgItem(IDC_EDIT1)-&gt;ReDrawWindow();<BR>_sleep(1000);<BR>即可!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-24 13:16:23
<br>内容:2楼的方法好像不可以吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2003-12-24 18:13:58
<br>内容:那这样行否!<BR>GetDlgItem(IDC_EDIT1)-&gt;ShowWindow(SW_HIDE);<BR>GetDlgItem(IDC_EDIT1)-&gt;ShowWindow(SW_SHOW);<BR>GetDlgItem(IDC_EDIT1)-&gt;RedrawWindow();<BR>_sleep(1000);<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-25 10:43:34
<br>内容:多来几个好像可以,跟机器有关系,不是最好的解决办法
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:天地之间 回复日期:2003-12-25 19:31:59
<br>内容:多谢各位大侠,我已经解决了,其实很简单:<BR><BR>{<BR>SetDlgItemText(IDC_EDIT1,&#34;aaa&#34;);<BR><BR>UpdateWindow();//就行了,这个函数是刷新窗口。<BR><BR><BR>for (int i=0;i&lt;5;i++) Sleep(1000)&nbsp;&nbsp;//循环5秒;&nbsp;&nbsp;<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-26 10:17:50
<br>内容:这个也不是好办法啊
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:天地之间 回复日期:2003-12-26 13:11:37
<br>内容:可以呀,,<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-26 13:25:29
<br>内容:跟机器有关,你换太机器说不定就不可以了,不是最好的解决方法
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:胖色盲 回复日期:2004-01-09 09:04:51
<br>内容:那怎么办!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:浪际天涯 回复日期:2004-01-09 09:42:25
<br>内容:??怎么大家还在讨论啊,我的方法是不是太麻烦了?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2004-01-09 12:46:33
<br>内容:&lt;BLOCKQUOTE&gt;引用“第11楼”所言<BR>&lt;Q&gt;??怎么大家还在讨论啊,我的方法是不是太麻烦了?&lt;/Q&gt;&lt;/BLOCKQUOTE&gt;<BR>没有啊,一般都是这么做的啊<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -