tags:

views:

33

answers:

1

Hello all, I am trying to create a wizard like structure using dialog boxes...So I replaced the code in CDialog1App as below

CDialog1Dlg* dlg = new CDialog1Dlg;
m_pMainWnd = dlg;
dlg->Create(IDD_DIALOG1);
dlg->ShowWindow(SW_SHOW);

the above worked fine...its displying the dialog box.but I have added another dialog box... So in the first dialog box if the user clicks Next it has to hide the first dialog box and display the second dialog..

//CDialog1 class

void CDialog1Dlg::OnBnClickedNext()
{
    // TODO: Add your control notification handler code here
    CDialog2* dialog2 = new CDialog2();
    dialog2->Create(IDD_DIALOG2);
    dialog2->ShowWindow(SW_SHOW);
    this->ShowWindow(SW_HIDE);
}

in the above code am creating an object for the Dialog2 class and trying to show that.... Now the problem is,when I click next its hiding both the windows..What can I do..I tried several types but its still its not workin..Please dont suggest me to do with PropertySheet..It will work with that, i know ...but I want this using Dialog Box for some reason

+2  A: 

You're creating the dialog2 with the default parent window (NULL):

dialog2->Create(IDD_DIALOG2);

But the default parent seems to be dialog1 in your case. And since you hide dialog1 which is the parent of dialog2, dialog2 is also hidden.

Find the window (CWnd) of either your main app dialog (if you have one visible apart from your wizard), or use the desktop window as the parent.

For example:

dialog2->Create(IDD_DIALOG2, GetDesktopWindow());
Stefan
check my edit...i did changed it..
kiddo
check my edit...
Stefan