// appdataipsptdview.cpp : implementation file // #include "stdafx.h" #include "geomative.h" #include "appdataipsp2dtdview.h" #include "appdatatddetaillistview.h" #include "appdataipsp2dtdconlistview.h" #include "appdatatdgrlistview.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CAppDataIpsp2DTdView IMPLEMENT_DYNCREATE(CAppDataIpsp2DTdView, CView) CAppDataIpsp2DTdView::CAppDataIpsp2DTdView() { m_pGrListView = NULL; m_pContentListView = NULL; m_pDetailListView = NULL; m_pMngFrm = NULL; } CAppDataIpsp2DTdView::~CAppDataIpsp2DTdView() { } BEGIN_MESSAGE_MAP(CAppDataIpsp2DTdView, CView) //{{AFX_MSG_MAP(CAppDataIpsp2DTdView) ON_WM_SIZE() //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CAppDataIpsp2DTdView drawing void CAppDataIpsp2DTdView::OnDraw(CDC* pDC) { CDocument* pDoc = GetDocument(); // TODO: add draw code here } ///////////////////////////////////////////////////////////////////////////// // CAppDataIpsp2DTdView diagnostics #ifdef _DEBUG void CAppDataIpsp2DTdView::AssertValid() const { CView::AssertValid(); } void CAppDataIpsp2DTdView::Dump(CDumpContext& dc) const { CView::Dump(dc); } #endif //_DEBUG ///////////////////////////////////////////////////////////////////////////// // CAppDataIpsp2DTdView message handlers BOOL CAppDataIpsp2DTdView::Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext) { CWnd::Create(lpszClassName, lpszWindowName, dwStyle, rect, pParentWnd, nID, pContext); // TODO: Add your specialized code here and/or call the base class if (VAL_ZERO == m_firstSplitter.GetSafeHwnd()) { m_firstSplitter.CreateStatic(this, 1, 2); VERIFY(m_firstSplitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_0, RUNTIME_CLASS(CAppDataTdDetailListView), CSize(SPL_VIEW_APP_DETAIL_WIDTH, rect.bottom-rect.top), pContext)); m_pDetailListView = static_cast(m_firstSplitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_0)); ASSERT(m_pDetailListView != NULL); m_pDetailListView->OnInitialUpdate(); m_secondSplitter.CreateStatic(&m_firstSplitter, 2, 1, WS_CHILD | WS_VISIBLE, m_firstSplitter.IdFromRowCol(SPL_VIEW_ROW_0, SPL_VIEW_COL_1)); VERIFY(m_secondSplitter.CreateView(SPL_VIEW_ROW_0, SPL_VIEW_COL_0, RUNTIME_CLASS(CAppDataIpsp2DTdConListView), CSize(0, (rect.bottom-rect.top)/2), pContext)); m_pContentListView = static_cast(m_secondSplitter.GetPane(SPL_VIEW_ROW_0, SPL_VIEW_COL_0)); ASSERT(m_pContentListView != NULL); m_pContentListView->OnInitialUpdate(); VERIFY(m_secondSplitter.CreateView(SPL_VIEW_ROW_1, SPL_VIEW_COL_0, RUNTIME_CLASS(CAppDataTdGrListView), CSize(0, (rect.bottom-rect.top)/2), pContext)); m_pGrListView = static_cast(m_secondSplitter.GetPane(SPL_VIEW_ROW_1, SPL_VIEW_COL_0)); ASSERT(m_pGrListView != NULL); m_pGrListView->OnInitialUpdate(); m_secondSplitter.RecalcLayout(); m_firstSplitter.RecalcLayout(); } m_pMngFrm = (CMDIChildWnd*)GetParentFrame(); return TRUE; } void CAppDataIpsp2DTdView::OnSize(UINT nType, int cx, int cy) { CView::OnSize(nType, cx, cy); // TODO: Add your message handler code here if (VAL_ZERO != m_firstSplitter.GetSafeHwnd()) { m_firstSplitter.MoveWindow(VAL_ZERO, VAL_ZERO, cx, cy); m_firstSplitter.RecalcLayout(); m_secondSplitter.SetRowInfo(SPL_VIEW_ROW_0 , cy/2, VAL_ZERO); m_secondSplitter.RecalcLayout(); } }