********************************************************************/ /* */ /* Function name : OnCreateClient */ /* Description : Create some splitter windows. */ /* */ /********************************************************************/ BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext) { // create splitter window if (!m_wndSplitter.CreateStatic(this, 2, 1)) return FALSE; // add the second splitter pane - a message view in raw 1 if (!m_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CTraceView), CSize(0, 0), pContext)) return FALSE; // split the first splitter pane if (!m_wndSplitter2.CreateStatic(&m_wndSplitter, 1, 2, WS_CHILD|WS_VISIBLE|WS_BORDER, m_wndSplitter.IdFromRowCol(0, 0))) { return FALSE; }; // add default view to the first pane if (!m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(CFtpTreeView), CSize(100, 100), pContext)) { return FALSE; };
// add list view to the second pane if (!m_wndSplitter2.CreateView(0, 1, RUNTIME_CLASS(CFtpListView), CSize(100, 100), pContext)) { return FALSE; }; // remember CTraceView pointer CWnd* pWnd = m_wndSplitter.GetPane(1, 0); m_pTraceView = DYNAMIC_DOWNCAST(CTraceView, pWnd); CRect rc; GetClientRect(&rc); m_wndSplitter.SetRowInfo(0, rc.Height()*3/4, 50); m_wndSplitter.SetRowInfo(1, rc.Height()/4, 50); m_wndSplitter2.SetColumnInfo(0, 200, 10); m_wndSplitter2.SetActivePane(0, 0); m_bInitialized = TRUE; // Initialize Tree Control here // PopulateTree(); m_bShowTrace = AfxGetApp()->GetProfileInt("Settings", "ShowTrace", 1); if (!m_bShowTrace) m_wndSplitter.HideRow(1); // show connect dialog if (AfxGetApp()->GetProfileInt("Settings", "ShowConnectionDlg", 1)) PostMessage(WM_COMMAND, ID_FILE_CONNECT); // save view style int nViewStyle = AfxGetApp()->GetProfileInt("Settings", "ViewStyle", ID_VIEW_LARGEICON); OnViewStyle(nViewStyle); return TRUE; }
|