ChildWindow Erzeugen klappt nicht ganz
-
Guten Tag,
ich möchte ein ChildWindow erzeugen während der ursprüngliche Dialog weiterhin dargestellthttp://s7.directupload.net/images/110919/temp/g9kj8ql9.jpg wird.
Anstatt ein 2. Fenster geöffnet wird geht der alte Dialog in einen neuen über.http://s1.directupload.net/images/110919/temp/d2otfljp.jpg
Das Projekt ist übrigens Dialogfeldbasierend.Die Klasse CFenster ist von CWnd abgeleitet.
void CDialogDlg::OnBnClickedOk() { CFenster *fenster; fenster = new CFenster(); fenster->Create(_T("STATIC"),_T("ChildWindow"), WS_CHILD | WS_VISIBLE, CRect(20, 20, 200, 300), this, 55); fenster ->ShowWindow(SW_SHOW); //CDialogEx::OnOK(); }
Eigentlich wollte ich ein komplett neues leeres Fenster anzeigen.http://s1.directupload.net/images/110919/temp/4s7phzyw.jpg
-
Dann solltest Du Dir erstmal klar werden was für eine Bedeutung WS_CHILD hat und wie Popup Windows behandelt werden... Ein Static ist immer ein Child Window und kann nicht als Popup Window "zweckentfremdet" werden.
-
So weit, so gut ich mache das nun mit CFrameWnd folgender maßen:
void CDialogDlg::OnBnClickedShow() { CWnd* m_pMainWnd1; m_pMainWnd1 = new CFenster; m_pMainWnd1 ->ShowWindow( m_nCmdShow ); }
CFenster():
CFenster::CFenster() { Create ( NULL, _T("Fenster"),NULL, CRect(20, 20, 300,200) ); }
Problem: Der Bezeichner ""m_nCmdShow"" ist nicht definiert.
Das versteh ich nicht, natürlich habe ich die afxwin.h eingebunden und
dort ist es definiert.
-
Ich habs hinbekommen, ich möchte mich noch für die Hilfe bedanken.