Dialog als Page anzeigen



  • Hi!

    Ich würde gerne einen Dialog in meinen PropertySheet einbinden.
    In meinem folgendem Lösungsansatz geschieht der Abbruch beim Dialogaufruf.

    void CMainFrame::OnButton1()
    {
    //Sheet vorbereiten
    CFormGerEdi *Sheet=new CFormGerEdi("");
    CFormErrPage *Pg=new CFormErrPage();
    Sheet->AddPage(Pg);
    Sheet->SetActivePage(Pg);
    Sheet->Create();

    //Handle der Page besorgen
    HWND PageHandle=Pg->GetSafeHwnd();

    CDialog *dlg=myDialog(PageHandle);//Übergabe des Handles
    dlg->ShowWindow(SW_SHOW|SW_NORMAL);//Anzeigen
    // Bei Show... Abbruch
    }

    Im Konstruktor des Dialogs (in einer DLL) sieht es dann so aus:

    CmyDialog::CmyDialog(HWND PageHandle, CWnd* pParent /=NULL/)
    : CDialog(CKonsole::IDD, pParent)
    {
    pParent->FromHandle(PageHandle);
    this->SetOwner(lpParent);
    }

    Danke für eure Hilfe!



  • ähm
    äähm
    ääähm

    lass es



  • Habe eine Lösung!

    Man muß den neuen Dialog folgendermaßen öffnen:
    dlg->Create(IDD_Geraet,CWnd::FromHandle(pHandle));

    pHandle wird zuvor von der bereits geöffneten Page mit:
    pHandle=Page->GetSafeHwnd();
    ermittelt.


Anmelden zum Antworten