Исходный код
//---------------------------------------------------------
// Диалог прогресса выполнения
//---------------------------------------------------------
// получить диалог прогресса
CComPtr<ITDMSDialogs> pDialogs;
CheckError(pApp->get_Dialogs(&pDialogs));
CComPtr<ITDMSProgressDlg> pProgressDlg;
CheckError(pDialogs->get_ProgressDlg(&pProgressDlg));
pProgressDlg->Start();
for (int i = 1; i <= 3; i++)
{
char sText[256];
sprintf(sText, "Этап %d", i);
BSTR bsText = A2BSTR(sText);
pProgressDlg->put_Text(bsText);
SysFreeString(bsText);
pProgressDlg->SetLocalRanges((i-1)*100/3,i*100/3);
for (int j = 0; j < 100; j++) {
pProgressDlg->put_Position(j);
Sleep(50);
}
}
pProgressDlg->Stop();