回调函数如何去控制进度条呢?
我是这样做的:
在回调函数中
CSClientDlg* pDlg=(CSClientDlg*)AfxGetMainWnd();
取得对话框的指针,然后改变进度条控件,可是这样效果是直接走到100%.
然后我就想,应该是CSClientDlg比较忙,没空理我。
所以我就打算再加一个Dlg,在回调函数中写。
m_pProgressDlg=new CProgressDlg;
_pProgressDlg->Create(IDD_DIALOG_PROGRESS, NULL);
m_pProgressDlg->ShowWindow(SW_SHOW);
p = (CProgressCtrl *)m_pProgressDlg->GetDlgItem(IDC_PROGRESS);
通过这个p来操作新的dlg上面的进度条,效果也是一样,直接走到头。
求救,求教!
我是这样做的:
在回调函数中
CSClientDlg* pDlg=(CSClientDlg*)AfxGetMainWnd();
取得对话框的指针,然后改变进度条控件,可是这样效果是直接走到100%.
然后我就想,应该是CSClientDlg比较忙,没空理我。
所以我就打算再加一个Dlg,在回调函数中写。
m_pProgressDlg=new CProgressDlg;
_pProgressDlg->Create(IDD_DIALOG_PROGRESS, NULL);
m_pProgressDlg->ShowWindow(SW_SHOW);
p = (CProgressCtrl *)m_pProgressDlg->GetDlgItem(IDC_PROGRESS);
通过这个p来操作新的dlg上面的进度条,效果也是一样,直接走到头。
求救,求教!
解决方案 »
- VC中如何实现dll调用dll
- 请教MFC里面识别硬件端口的方法
- 如何在界面上加一条横线?有没有这样的控件?资源文件中该怎样写呢?
- 为什么我的vc,在ide里f5,启动win32时进入汇编了,而且会阻塞在某条汇编语句。
- 建立一个基类为对话框CDialod的类,在对话框上放一个listctrl,想在对话框显示时初始化listctrl,应该如何做?
- 到底怎么用TransparentBlt和AlphaBlend函数!?
- 高手帮帮我,我的程序有编译错误
- 关于vs 2005 的一个环境设置问题
- 送分90分:关于在VC6中调试时看到的变量值为怪字符的问题。
- 请教ATL ActiveX 控件在谷歌等浏览器下crash的问题
- SOCKET通信概念上的问题
- 继承了CButton类而画不上图,怎么办啊?
m_progress.SetRange(0, 100);
m_progress.SetStep(1);
SetTimer(ID_PROGRESS, 50,0);
void CProgress_TestDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (m_progress.GetPos()!=100)
{
m_progress.StepIt();
}
else
{//If you want Send a Message, Send a your own message here.
m_progress.SetPos(0);
}
CDialog::OnTimer(nIDEvent);
}
我在计算进度的时候两个ULONG类型的值相除,从而得到的不是0就是1
谢谢你的关注.