Re: Display error message in a modal CDialog
Dans son message pr?c?dent, No_Name a ?crit :
Ajay a pr?sent? l'?nonc? suivant :
On Apr 8, 10:00?am, No_Name <no_mail@no_mail.com> wrote:
errorDlg *dlg = new errorDlg();
dlg->ShowMessage(CST_OMR_TOO_MANY_TOB);
The code of the ShowMessage() function of errorDlg is :
void errorDlg::ShowMessage(int code)
{
? ? ? ? CStatic *edit;
? ? ? ? char str[] = "THIS IS A MESSAGE";
? ? ? ? char *pStr1 = str;
? ? ? ? LPCTSTR string = (LPCTSTR)str;
? ? ? ? edit = (CStatic *)GetDlgItem(IDC_MYEDIT);
? ? ? ? edit->SetWindowTextW(string);
? ? ? ? DoModal();
}
but the line :
edit->SetWindowTextW(string);
make the program hang. It think that it may be because the Edit control
that is in the window is not available until the DoModal() is
completed
Yes thats because the control is available at the time you are trying
to access it. What you are trying to do should be done in OnInitDialog
instead.
But how can I provide the message string to be displayed before the
OnInitDialog() is executed ?
Sorry, I believe I made a confusion between the OnInitDialog() function
and the errDlg constructor, which are two different things !