有一个对话框,要求点击“ok”button弹出一个进度对话框,在该对话框中只有Progress一个控件,在进度对话框中的OnInitDialog时间中对Progress控件进行了相关的处理。
我这样做的,但却不知道为什么不能显示这个进度对话框:
if(Dlg.DoModal() == IDOK)
{
    CProgressDlg dlg;
}我认为我定义了这个对话框对象后就应该显示这个对话框啊?但实际却不是这样,希望知道原因和怎么样操作才能显示进度对话框,多谢拉~

解决方案 »

  1.   

    Dlg.DoModal()是干什么的?是创建和显示对话框的。
    你的CProgressDlg dlg只是定义了对话框对象,并没有创建和显示,需要:
    dlg.DoModal();
      

  2.   

    dlg.DoModal()
    是创建和显示对话框的吗?
      

  3.   

    我执行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"的提示框。不知道是什么原因所致?