📄 subject_66339.htm
字号:
<p>
序号:66339 发表者:天地之间 发表日期:2003-12-23 22:24:39
<br>主题:【求救】文本框的显示?
<br>内容:基于对话框的MFC程序:<BR><BR>在一个对话框上有一个文本框,一个按钮;<BR>单击按钮:<BR>{<BR>SetDlgItemText(IDC_EDIT1,"aaa");<BR>for (int i=0;i<5;i++) Sleep(1000) //循环5秒; <BR>}<BR>程序运行结果为:先等5秒,然后在文本框上显示“aaa”。<BR><BR>如果我想先在文本框上显示“aaa”,在循环5秒怎么办???<BR><BR>各位大侠们,请教了!!!!
<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> GetDlgItem(IDC_EDIT1)->SetWindowText("aaaa");<BR> MSG msg;<BR> int i=0;<BR> while(GetMessage(&msg,this->m_hWnd,0,0))<BR> {<BR> ::DispatchMessage(&msg);<BR> ::TranslateMessage(&msg);<BR> Sleep(1000);<BR> i++;<BR> if(i==5)break;<BR> }<BR>第二种方法:(使用线程--定时器或其它,这是定时器的例子)<BR>void CDdDlg::OnButton2() <BR>{<BR> GetDlgItem(IDC_EDIT1)->SetWindowText("aaaa");<BR> SetTimer(1,10,NULL);<BR>}<BR><BR>void CDdDlg::OnTimer(UINT nIDEvent) <BR>{<BR> for(int i=0;i<5;i++)<BR> Sleep(1000);<BR> if(i==5)KillTimer(1);<BR> 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)->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)->ShowWindow(SW_HIDE);<BR>GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);<BR>GetDlgItem(IDC_EDIT1)->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,"aaa");<BR><BR>UpdateWindow();//就行了,这个函数是刷新窗口。<BR><BR><BR>for (int i=0;i<5;i++) Sleep(1000) //循环5秒; <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>内容:<BLOCKQUOTE>引用“第11楼”所言<BR><Q>??怎么大家还在讨论啊,我的方法是不是太麻烦了?</Q></BLOCKQUOTE><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 + -