CreateNewFrame problem
Brijesh Kumar Mishra -- brijesh@aditya.pune.gssl.ernet.in
Monday, April 08, 1996
Platform : win 95
VC++ Ver : 4.0
I am developing an application (MDI) that uses two different types
of child windows. One child window is having 3 splitter windows that are
used to incorporate 4 different views. At some point I try to minimize this
kind of child window and invoke the other type of child window frame. This
frame is a normal MDI child window. My function for creation of this
child window frame is something like this :
void CmDocument::InitializeResultMode(METHOD method,
CmBaseView* someView)
{
CmApplication* app = GetApplication() ;
CmMainFrame* pMainFrame = (CmMainFrame* )app->m_pMainWnd ;
CmChildFrame* frame =
(CmChildFrame*)someView->GetParent()
->GetParent()->GetParent()->GetParent() ;
frame->ShowWindow(SW_SHOWMINIMIZED) ;
frame->EnableWindow(FALSE) ;
pMainFrame->SetResultToolBar() ;
pMainFrame->m_wndStatusBar.ShowWindow(SW_HIDE) ;
if (pMainFrame->m_DlgBar)
pMainFrame->m_DlgBar->ShowWindow(SW_HIDE) ;
pMainFrame->m_wndGroupToolBar.ShowWindow(SW_HIDE) ;
pMainFrame->m_wndObjectToolBar.ShowWindow(SW_HIDE) ;
CFrameWnd* pNewFrame ;
CmDocument* pDoc = this ;
/*
------ Application is maintaing two kinds of document templates
One for the previous kind of child windows and the other for
this new kind.
------ Problem is in this statement ----------
*/
pNewFrame = app->pResultTemplate->CreateNewFrame(
pDoc,
pMainFrame
) ;
if (pNewFrame == NULL)
{
AfxMessageBox("Faild for new Frame") ;
return ;
}
app->pResultTemplate->InitialUpdateFrame(pNewFrame, pDoc) ;
}
When this function is executed, CreateNewFrame() of the document
template returns NULL. I tried by overriding this function, LoadFrame(),
and Create() for this child window of mine. But nothing seems to be working
I am unable to detect the reason why this is failing. The same code is
working with VC++ 2.1.
Is there any body, who can help me.
ThanX in advance,
- brij
-------------------------------------------------------------------------
One can't change the past but one can ruin a perfectly good
present by worrying about the future.
Brijesh Kumar Mishra
e-mail : brijeshm@gssl.ernet.in
-------------------------------------------------------------------------
Niels Ull Jacobsen -- nuj@kruger.dk
Wednesday, April 10, 1996
At 15:38 08-04-96 +0500, you wrote:
>Platform : win 95
>VC++ Ver : 4.0
>
> I am developing an application (MDI) that uses two different types
>of child windows. One child window is having 3 splitter windows that are
>used to incorporate 4 different views. At some point I try to minimize this
>kind of child window and invoke the other type of child window frame. This
>frame is a normal MDI child window. My function for creation of this
>child window frame is something like this :
>
>void CmDocument::InitializeResultMode(METHOD method,
> CmBaseView* someView)
...
> CmMainFrame* pMainFrame = (CmMainFrame* )app->m_pMainWnd ;
...
> pNewFrame = app->pResultTemplate->CreateNewFrame(
> pDoc,
> pMainFrame
> ) ;
...
[...]
> When this function is executed, CreateNewFrame() of the document
>template returns NULL
Read up on CreateNewFrame(). I don't really think you want to use pMainFrame
as the second parameter - try NULL.
Niels Ull Jacobsen, Krьger A/S (nuj@kruger.dk)
Everything stated herein is THE OFFICIAL POLICY of the entire Kruger group
and should be taken as legally binding in every respect. Pigs will grow
wings and fly.
| Вернуться в корень Архива
|