Go4Expert

Go4Expert (http://www.go4expert.com/)
-   MFC (http://www.go4expert.com/forums/mfc/)
-   -   splitter problem (http://www.go4expert.com/forums/splitter-problem-t18248/)

answerme 29Jun2009 16:55

splitter problem
 
hi iam facing a debug problem .This is because of splitter only .I am having One row & 2 columns.But when iam running my program it is giving me runtime error ie
DEBUG ASSERTION FAILED from c:...../mfc/winsplitt.cpp

Problem where iam facing i have marked it with bold in below code

Code:

BOOL CSplitter_Main::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
        if(!m_wndSplitter.CreateStatic(this, 2, 1)) //,                        // TODO: adjust the number of rows, columns
        {
                return FALSE ;
        }
       
    if (!m_wndSplitter.CreateView(0, 0,        RUNTIME_CLASS(CEntityTreeView), CSize(170, 550), pContext))
        {
                TRACE0("Failed to create second pane\n");
                return FALSE;
        }
       
        // add the second splitter pane - the default view  in row 1
    if (!m_wndSplitter.CreateView(0, 1,        RUNTIME_CLASS(CScenGenView), CSize(150,550), pContext))
        {
                TRACE0("Failed to create first pane\n");
                return FALSE;
        }
        m_wndSplitter1.CreateStatic(&m_wndSplitter, 2,1 , WS_CHILD|WS_VISIBLE|WS_BORDER|WS_MAXIMIZE, AFX_IDW_PANE_FIRST ) ;

        // add the first splitter pane - an input view in row 0
  if (!m_wndSplitter1.CreateView(0,0,        RUNTIME_CLASS(CEntityListView),        CSize(150,550), pContext))
        {
                TRACE0("Failed to create first pane\n");
                return FALSE;
        }

        SetActiveView((CView*)m_wndSplitter.GetPane(0,1));

        return TRUE;
}


shabbir 29Jun2009 16:59

Re: splitter problem
 
Looks difficult to understand but it looks like the issue may be with pContext

answerme 29Jun2009 18:54

Re: splitter problem
 
Hi I am able to rectify the problem . But now I am facing one more problem ,My values are not getting updated properly in my mfc application .I meant on my window values are getting updated only when iam minimizing my window screen or seeing other application & then coming back to my mfc application .I tried Invalidate & invalidateRect also but still facing same problem

shabbir 29Jun2009 19:48

Re: splitter problem
 
Use the InvalidateRect to repaint the needed region

answerme 1Jul2009 09:53

Re: splitter problem
 
HI Again
Updation is happening properly now . But mySplitter which is divided into 1 row & 2 column ,2nd column is facing problem .Whenever iam running my mfc application, 2nd column is showing the background of the desktop,or if my application code is behind it is displaying that.When iam adjusting other pane then its coming alright . Do u have any solution

shabbir 1Jul2009 10:40

Re: splitter problem
 
Yes, Invalidate that area as well at the startup

answerme 1Jul2009 11:49

Re: splitter problem
 
Ya i tried Invalidate but it is not happening ,one thing i Observed that

if(!m_wndSplitter1.CreateView(1,0,RUNTIME_CLASS(CE ntityListView),CSize(0,100),pContext))

the size specified in CSize() is not having any effect ,is it because of this

shabbir 1Jul2009 12:24

Re: splitter problem
 
Does the Area get corrected if you Min and Max the window ?

answerme 1Jul2009 12:34

Re: splitter problem
 
ya when i run mfc applcation & i min or max windows it is happening.But on the code size when i am specifying the CSize it is not increasing or decresing

shabbir 1Jul2009 13:24

Re: splitter problem
 
If it happens when you Min Max then its about repainting issue and not the problem about the size not taking effect.


All times are GMT +5.5. The time now is 01:31.