Re: AfxGetMainWnd () call
****
Sorry I didn`t understand what you exactly mean. If I call the
dlg.DoModal() method I can`t call any subroutine to do all the
verifycations.
****
Why not? I presume the reason for calling the modal dialog is to do th=
e verification.
Therefore, the modal dialog would be doing the verification.
That`s true.
Of course, if you just want to show a progress bar or say "busy verifying=
" you can do this
either by using a modeless dialog or just putting a status message in the=
current dialog.
Because of your and Gorans help I know that a modeless dialog is not a
great idea. Therefore I don`t want to use one. But my display is very
small, so that I do not have the place to add a additional status
message (static field).... I`ll use this method in my webserver.
****
No, this is where you went wrong.
First step: Show dialog indicating verification in progress
Second step: Do verification
Third step: When verification completes, close dialog
Fourth step: If verification succeeded, proceed to next state, otherwise,=
remain in
current state after issuing error message as to what is wrong
Thanks for your example, but at the moment the dialog is still not
shown because the OnInitDialog() method is called before dlg.DoModal()
as well as the PostMessage.
BOOL CWizardDialog::OnWizardFinish()
{
CWaitDialog dlg;
INT_PTR rtn = dlg.DoModal(); //dialog is not shown
during the verification OnStartValidation()
switch(rtn)
{
case IDOK:
CDialog::EndDialog(ID_WIZFINISH);
break;
case IDCANCEL:
default:
return FALSE;
}
return TRUE;
}
BOOL CWaitDialog::OnInitDialog()
{
CDialog::OnInitDialog();
PostMessage(UWM_START_VALIDATION, 0, 0);
return TRUE;
}
LRESULT CWaitDialog::OnStartValidation(WPARAM, LPARAM)
{
//verification of the information
INT_PTR rtn = pDlg->OnStartValidation();
switch(rtn)
{
case IDOK:
CDialog::OnOK(); //close CWaitDialog()
break;
case IDCANCEL:
CDialog::OnCancel();
break;
}
return TRUE;
}
With this implementation I can call the subroutine to verfiy the
settings the user made. But the dialog CWaitDialog is not shown....
best regards
Hans