Moin Moin ,
Ich hab eine MDI Anwendung.
Das Dokument soll 2 Views bekommen in je eigenem Fenster.
Also hab ich
.
.
pMainFrame-\>UpdateWindow();
// Zweiten Frame für 2 View CpCListView
CMDIFrameWnd\* pMainWnd = (CMDIFrameWnd\*)AfxGetMainWnd();
CMDIChildWnd\* pChild = pMainWnd-\>MDIGetActive();
CView\* pOldActiveView = pChild-\>GetActiveView();
CDocument\* pDoc = pChild-\>GetActiveDocument();
CFrameWnd \*pCSecondFrame = pDocTemplate-\>CreateNewFrame(pDoc,NULL);
pDocTemplate-\>InitialUpdateFrame(pCSecondFrame, pDoc);
CView \*pCOldView = pCSecondFrame-\>GetActiveView();
pDoc-\>RemoveView(pCOldView);
CRuntimeClass \*pSecondView = RUNTIME\_CLASS(CpCListView);
CCreateContext CActContext;
CActContext.m\_pNewViewClass = pSecondView;
CActContext.m\_pCurrentDoc = pDoc;
CActContext.m\_pCurrentFrame = pCSecondFrame;
CView \*pNewView = static\_cast(pCSecondFrame-\>CreateView(&CActContext));
pCSecondFrame-\>SetActiveView(pNewView);
pCSecondFrame-\>RecalcLayout();
pDocTemplate-\>InitialUpdateFrame(pCSecondFrame,pDoc,TRUE);
pCOldView-\>DestroyWindow();
Nun hab ich im 1 View CproCheckView 1 CEdit und ein Button erstellt.
CproCheckView.h
CButton\* m\_paButtons;
CEdit\* m\_paEdit;
CproCheckView.cpp
OnInitialUpdate()
CRect rectt(100, 120, 200, 140);
CRect rectv(0, 0, 150, 150);
m\_paButtons=new CButton;
m\_paEdit=new CEdit;
bool isbutton;
isbutton=m\_paButtons-\>Create("TExt",WS\_BORDER|WS\_VISIBLE|SS\_CENTER,rectt,pCframe,pApp-\>dieID);
m\_paButtons-\>MoveWindow(610,350,rectt.Width(),rectt.Height(),true);
TRACE("Created %d\n",pApp-\>dieID);
++pApp-\>dieID;
isbutton=m\_paEdit-\>Create(WS\_BORDER|WS\_VISIBLE|ES\_LEFT|ES\_MULTILINE|ES\_READONLY,rectv,pCframe,pApp-\>dieID);
m\_paEdit-\>MoveWindow(610,60,rectv.Width(),rectv.Height(),true);
Mein Problem : Mit OldView->DestroyWindow() werden irgentwie meine Buttons nicht zerstört. Klicke ich auf den 2 View erscheinen Dort auch die CEdit und CButton vom 1 View.
Also hab ich in DestroyWindow vom 1 View einfach mal
delete m\_paEdit;
delte m\_paButtons;
aber auch das bringt nix.
Auch im Destructor vom 1View nicht.
- Wo muss ich bzw was muss ich tun um Meine Buttons auch nur im 1 View zu haben und nicht nach anklicken des 2 View Sie dort auch zu haben.
- Wie bekomm ich den Memory Leak weg der mit der (nicht)Zerstörung der Objekte verbunden ist.