有一个对话框,要求点击“ok”button弹出一个进度对话框,在该对话框中只有Progress一个控件,在进度对话框中的OnInitDialog时间中对Progress控件进行了相关的处理。
我这样做的,但却不知道为什么不能显示这个进度对话框:
if(Dlg.DoModal() == IDOK)
{
CProgressDlg dlg;
}我认为我定义了这个对话框对象后就应该显示这个对话框啊?但实际却不是这样,希望知道原因和怎么样操作才能显示进度对话框,多谢拉~
我这样做的,但却不知道为什么不能显示这个进度对话框:
if(Dlg.DoModal() == IDOK)
{
CProgressDlg dlg;
}我认为我定义了这个对话框对象后就应该显示这个对话框啊?但实际却不是这样,希望知道原因和怎么样操作才能显示进度对话框,多谢拉~
你的CProgressDlg dlg只是定义了对话框对象,并没有创建和显示,需要:
dlg.DoModal();
是创建和显示对话框的吗?
我在进度对话框中初始化是这样的:
BOOL CProgressDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here//add for test
MessageBox("hello");
m_progress.ShowWindow(SW_SHOW);
m_progress.SetRange(1,100);
for(int i=0;i<100;i++)
{
m_progress.StepIt();
Sleep(100);
}
return TRUE;
}
结果是不能显示进度对话框,但能够弹出"hello"的提示框。不知道是什么原因所致?