Aus irgendnen Grund lässt sich mein Dialog nicht öffnen Und zwar hab ich ein PropertySheet mit 2 Sheepages und aus der einen "Sheetpage" heraus möchte ich nun gern noch nen Dialog öffnen. Nur sobald i auf den Button der das Dialogfeld öffnen soll drücke, bleibt dieser gedrückt und das Programm hängt . Benutze VS2005
'Morgen, wenn Du mit "SheetPage" CPropertyPage meinst, ist Dein Code korrekt (zumindest mit VC6 funktioniert es). Wahrscheinlich liegt der Fehler woanders und macht sich dann erst an dieser Stelle bemerkbar.
Hi! Ja ich meine eine CPropertyPage . Kann es irgendwas damit zutun haben das die PropertyPages erst zur Laufzeit erzeugt werden? Irgendwie muss das doch gehen? Oder hat wer nen Beispiel Code wo auch nen Dialog aus ner CPropertySeite geöffnet wird? Hier noch der Code wo der PropertySheet erzeugt wird. mfg
C++:
void CNFDDlg::CreateSheet() { m_dlgSheet = new CPropertySheet(); ASSERT(m_dlgSheet);
m_SheetSeite[0] = new CSeiteStamm; //Typ CPropertyPage m_SheetSeite[4] m_SheetSeite[1] = new CSeiteGebuehren;
m_iSeite = 2; for ( int i = 0; i < m_iSeite; i++ ) m_dlgSheet->AddPage(m_SheetSeite[i]); m_dlgSheet->Create(this, WS_CHILD | WS_VISIBLE | WS_TABSTOP, 0); for ( int i = 0; i < m_dlgSheet->GetPageCount(); i++ ) m_dlgSheet->SetActivePage(i); m_dlgSheet->SetActivePage(0); }
Dieser Post wurde am 01.03.2006 um 08:37 Uhr von -]Dr.LoLig[- editiert.
Kann es irgendwas damit zutun haben das die PropertyPages erst zur Laufzeit erzeugt werden?
Vermutlich. Die Frage ist, ob das wirklich notwendig ist. Ich selbst habe es so noch nie gemacht. Soweit ich die MSDN jetzt überflogen habe, mußt Du sowohl für das Sheet wie auch die Pages noch Construct aufrufen. Mit statischen Objekten funktioniert es jedenfalls so, wie Du gepostet hast. - Tommix
HI! Im DeKonstruktur lösche ich die Dinger noch, das stimmt! Aber wie meinst das ob es wirklich notwendig is? Also ich brauche so ne Art Eingabe Dialog mit 6 EDITs. Also ich hab das Programm mit den PropertySheet bald gefressen :o)
Mißverständnis. Es gibt eine Methode CPropertsSheet/Page::Construct, die mit dem Constructor / Destructor nichts zu tun hat. Mit "notwendig" meinte ich das dynamische erstellen. Wieso kannst Du Deinem Hauptfenster nicht einfach eine Membervariable vom Typ CPropertySheet spendieren statt eines Zeigers?
Oder anderst, weis wer wie ich die registerKarten von den PropertySheet wegbekomme?, dann mach ich in den PropertySheet noch eins, dann kann ich mir die dialogbox sparren.