000
18.11.2005, 10:09 Uhr
mutche
|
Hallo an alle,
ich versuche mich gerade ein Kindfenster von einer SDI anwendung zu öffnen. Den dafür erforderlichen Funktionen habe ich auch verstanden. Es öffnet sich ein Kindfenster wen ich es haben möchte.
Was mich allerdings stutzig gemacht hat bei der Deklaration der ChildWnd Klasse die von CFrameWnd abgeleitet wird, erstellt er Klassenass. den Konstruktor und Destruktor protected. Als Kommentar vom steht dahinter noch :
C++: |
// Dynamische Erstellung verwendet geschützten Konstruktor
|
damit ich jetzt auf den Konstruktor zugreifen kann um das Fenster zu erstellen habe ich den Zugriff von protected auf public geändert.
Ist diese vorgehensweise so richtig, oder ist das wieder etwas spezielles der MFC.
Wenn ich das Fenster jetzt erstelle wird es auch korrekt dargestellt, aber sobald ich es schieße gibt es eine Unbehandlete Ausnahme die in einem Assert endet in dbgheap.c Line: 1132 Expression: _CrtIsWalidHeapPointer(pUserData)
Hat vielleicht irgendjemand eine Tip, Danke
Mutche
Hiernoch der Code für die Erstellung des ChildWnd
C++: |
RECT rectDefault = {0,0,400,300}; m_LockedWnd.Create(NULL,"ChildWnd",WS_OVERLAPPEDWINDOW, rectDefault,this,NULL,0,NULL); m_LockedWnd.ShowWindow(SW_SHOWNORMAL);
|
|