Progress Dialog Box
 
Hi All,
   I'm very new to VC++ , MFC programming. I have a Button in a
property page. On clicking this button i want a "Progress Dialog Box"
to pop up and run as a seperate thread. The problem is i'm not able to
see the "Progress Dialog Box" and the application goes to hang state.
Please help.
Here's the part of the code..
********** In the property page*******************
void FlashDlg::OnDownloadButton()
{
abort_flag = FALSE;
thread_finished_flag = FALSE;
cpd.Create( );
CWinThread * dl_thread = AfxBeginThread(::DownLoadFunction, this);//
Start downloading thread
while (thread_finished_flag == FALSE)
    if (cpd.CheckCancelButton()) abort_flag = TRUE;
AfxMessageBox(result_str);
}
UINT DownLoadFunction(LPVOID lParam)
{
FlashDlg * p = (FlashDlg *)lParam;
p->cpd.SetUpper(25);
for(int i=0 ; i < 25 ; i=i+2)
    {
        p->cpd.SetPos(i);
        Sleep(100);
    }
p->thread_finished_flag = TRUE;
return 0;
}
***************** In the ProgressDialog*****************
BOOL CProgressDlg::Create(CWnd *pParent)
{
    // Get the true parent of the dialog
    m_pParentWnd = CWnd::GetSafeOwner(pParent);
    if((m_pParentWnd!=NULL) && m_pParentWnd->IsWindowEnabled())
    {
      m_pParentWnd->EnableWindow(FALSE);
      m_bParentDisabled = TRUE;
    }
    if(!CDialog::Create(CProgressDlg::IDD,pParent))
    {
      ReEnableParent();
      return FALSE;
    }
    return TRUE;
}