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
ääähmlass 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.