Re: About Designing a GUI
Hi,
That reminded me of something... A good article about splitters..
Try running this and see if you get an error. Whoops, it looks like we =
get a WM_SIZE message before OnCreateClient is called! To remedy this we =
add a flag to the CMainFrame member variables and set it to FALSE in =
CMainFrame=E2=80=99s constructor and to TRUE in OnCreateClient. By =
checking it in OnSize we only adjust the splitters after they=E2=80=99ve =
been initialized:
if ( m_initSplitters && nType != SIZE_MINIMIZED )
{
// etc...
OK! Pat yourself on the back and do something soothing to relax yourself =
(I like to pound my head on the keyboard =E2=80=93 make sure you note =
where all the keys fly, you may need them). Take an Advil and then =
proceed
http://www.gamedev.net/reference/articles/article1358.asp
HTH,
"qseri" <qseri@discussions.microsoft.com> wrote in message =
news:E5FE4905-C5C9-41B2-A536-625DCA8103C3@microsoft.com...
I can use splittter in SDI application wtih this code and it can split:
class CMainFrame : public CFrameWnd
{
...
protected:
CSplitterWnd m_wndSplitter;
...
};
// SAMPLES\CH03\splitter
// MainFrm.cpp : implementation of the CMainFrame class
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs,
CCreateContext* pContext)
{
CSize minWindow(10, 10);
// These variables must both be 1 or 2 for dynamic splitters.
int nRows = 2, nColumns = 1;
return m_wndSplitter.Create(this, nRows, nColumns,
minWindow, pContext);
//
}
But this doent work with MDI application.
I can't divide MDI client window. I tried this:
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* =
pContext)
{
CSize minWindow(10, 10);
// These variables must both be 1 or 2 for dynamic splitters.
int nRows = 2, nColumns = 1;
m_wndSplitter.Create(this, nRows, nColumns,
minWindow, pContext);
return CMDIFrameWnd::OnCreateClient(lpcs, pContext);
}
But it gives run time error about ASSERT(pContext != NULL);
What is wrong with this code?
I am looking for your answers.
Thanks...