在dll中的一个函数caculate中生成一个对话框
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CdllDialog dlldlg;
dlldlg.DoModal();在CdllDialog定义了进度条CProgressCtrl m_prg;
void CdllDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CdllDialog)
DDX_Control(pDX, IDC_PROGRESS1, m_prg);
//}}AFX_DATA_MAP
}函数
caculate()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CdllDialog dlldlg;
dlldlg.DoModal();int iMaxCountTestCommand=120;
dlldlg.m_prg.SetRange(0,iMaxCountTestCommand);
dlldlg.m_prg.SetPos(iMaxCountTestCommand*10/100);
..............................
}在应用程序中调用caculate函数,只显示了对话框,进度条没起作用,怎么回事啊?
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CdllDialog dlldlg;
dlldlg.DoModal();在CdllDialog定义了进度条CProgressCtrl m_prg;
void CdllDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CdllDialog)
DDX_Control(pDX, IDC_PROGRESS1, m_prg);
//}}AFX_DATA_MAP
}函数
caculate()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CdllDialog dlldlg;
dlldlg.DoModal();int iMaxCountTestCommand=120;
dlldlg.m_prg.SetRange(0,iMaxCountTestCommand);
dlldlg.m_prg.SetPos(iMaxCountTestCommand*10/100);
..............................
}在应用程序中调用caculate函数,只显示了对话框,进度条没起作用,怎么回事啊?
解决方案 »
- GlobalMemoryStatusEx 获取内存使用情况的问题
- 一个关于sprintf_s函数的小问题.
- VC++程序员看过来工资大讨论!!
- 求助大侠,用range addcomment给excel添加批注的方法?
- 在VC中插入一个microsoft ado data control 控件,如何在运行时动态设置数据源?
- 兄弟能给介绍一下专门说 异常 的书吗?多谢!!
- 初学VC用《深入浅出MFC》合不合适?
- 请详细的解释一下 CListCtrl 的排序?
- MFC中关于窗口重绘的疑惑
- 四国俄罗斯方块(网络版)免费发放!
- 如何在程序中将自己的代码段写入文件?
- 如何实现类似于VC开发环境下Resource View中的dialog设计的程序?
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CdllDialog dlldlg;
dlldlg.DoModal();
这里还能执行下去吗?不能执行下去了的。除非对话框关闭
.................................
int iMaxCountTestCommand=120;
dlldlg.m_prg.SetRange(0,iMaxCountTestCommand);
dlldlg.m_prg.SetPos(iMaxCountTestCommand*10/100);
..............................
}
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CdllDialog dlldlg;
dlldlg.DoModal();
只是创建一个对话框,对接下来有什么影响吗?
应该怎么做那??
int iMaxCountTestCommand=120;
dlldlg.m_prg.SetRange(0,iMaxCountTestCommand);
dlldlg.m_prg.SetPos(iMaxCountTestCommand*10/100);
如 gohappy_1999 告诉你的方法,将这几句代码加入到
CdllDialog 的 OnInitDialog 中去,如果你希望除了 DoModal 外还能有其它操作控制该 ProgressCtrl 的话,那么你可以在 DoModal 前创建一个工作线程来完成