阅读:1858回复:2
在dll中对话框上的进度条不生效
在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函数,只显示了对话框,进度条没起作用,怎么回事啊? |
|
沙发#
发布于:2005-07-31 10:22
刷新一下试试?比如invalid()
|
|
|
板凳#
发布于:2005-07-31 21:28
DoModal是显示模式对话框函数.函数结束,对话框也消失了。所以对DoModal之后的和窗口相关代码,你是看不到它起作用的。
|
|
|