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

📄 subject_28145.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:28145 发表者:qiaofeng 发表日期:2003-01-18 12:00:09
<br>主题:进度条不会动
<br>内容:我的进度条放在对话框CDlgShow上,进度条为m_progress,我是这样用的:<BR>int m_nProgress=0;<BR>CDlgShow show;<BR>show.DoModal();<BR>show.m_progress.SetRange(0,100);<BR>for(i=0;i&lt;100;i++)<BR>{<BR>&nbsp;&nbsp; m_nProgress++;<BR>&nbsp;&nbsp; UpdateData(TRUE);//刷新<BR>&nbsp;&nbsp; show.m_progress.SetPos(m_nProgress);<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>
回复者:菜鸟也支招儿 回复日期:2003-01-18 12:10:21
<br>内容:当然了,你要把m_nProgress和控件想关联起来,不然程序怎么知道这个变量是干什么的!在MFC ClassWizard 里MemberVariables里把你加的进度条控件捆绑一个变量(如你的m_nProgress).
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:qiaofeng 回复日期:2003-01-18 12:15:37
<br>内容:m_progress就是进度条的捆绑变量呀
<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-01-18 12:21:10
<br>内容:一般在OnInitDialog()中初始化滚动范围<BR>CScrollBar* pSB=(CScrollBar*)GetDlgItem(IDC_ControlID);<BR>pSB-&gt;SetScrollRange(0,100);<BR>pSB-&gt;SetPos(0);<BR>//该下面的程序段为<BR>for(i=0;i&lt;100;i++)<BR>{<BR>&nbsp;&nbsp; m_nProgress++;<BR>&nbsp;&nbsp; UpdateData(TRUE);//刷新<BR>&nbsp;&nbsp; (CScrollBar*)GetDlgItem(IDC_ControlID)-&gt;SetPos(m_nProgress);<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>
回复者:upstream 回复日期:2003-01-18 12:22:05
<br>内容:你忘了用SetTimer了<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-01-18 12:31:46
<br>内容:在基于对话框中,j是个成员变量,在OnInitDialog()中初始化为j=0;不用刷新,用他干嘛?<BR>void CHaha1Dlg::OnOK() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add extra validation here<BR>&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;100;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(int i=0;i&lt;100;i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nProgress.SetRange(0,100);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nProgress.SetStep(1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_nProgress.SetPos(j);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;<BR>//&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnOK();<BR>}<BR>最好弄一个timer来控制,不然循环太快了,看不清楚!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:菜鸟也支招儿 回复日期:2003-01-18 12:37:53
<br>内容:用个timer来搞定!记得这个j也要初始化!<BR>void CHaha1Dlg::OnOK() <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add extra validation here<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_nProgress.SetRange(0,1000);<BR>&nbsp;&nbsp;&nbsp;&nbsp;::SetTimer(m_hWnd,1,10,NULL);<BR>//&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnOK();<BR>}<BR><BR>void CHaha1Dlg::OnTimer(UINT nIDEvent) <BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;// TODO: Add your message handler code here and/or call default<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_nProgress.SetPos((j++)*10);<BR>&nbsp;&nbsp;&nbsp;&nbsp;if(j==100)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;CDialog::OnTimer(nIDEvent);<BR>}<BR>2003-1-18 12:39:11

⌨️ 快捷键说明

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