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;
}