1 ////////////////////////////////////////////////////
\r
2 // Mainfrm.cpp - definitions for the CMainFrame class
\r
6 #include "resource.h"
\r
9 CMainFrame::CMainFrame()
\r
11 SetView(m_MainView);
\r
13 // Set the registry key name, and load the initial window position
\r
14 // Use a registry key name like "CompanyName\\Application"
\r
15 LoadRegistrySettings(_T("Win32++\\Splitter Sample"));
\r
18 CMainFrame::~CMainFrame()
\r
22 BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam)
\r
24 UNREFERENCED_PARAMETER(lParam);
\r
26 switch(LOWORD(wParam))
\r
29 ::PostMessage(m_hWnd, WM_CLOSE, 0, 0);
\r
37 case IDW_VIEW_STATUSBAR:
\r
40 case IDW_VIEW_TOOLBAR:
\r
43 case IDM_HELP_ABOUT:
\r
50 void CMainFrame::OnInitialUpdate()
\r
52 // Set the styles for splitter panes
\r
53 DWORD dwStyle = DS_NO_UNDOCK | DS_NO_CAPTION | DS_CLIENTEDGE;
\r
54 m_MainView.SetDockStyle(dwStyle);
\r
56 CRect rcView = GetViewRect();
\r
58 // Add the bottom pane first. It is a child of the main pane.
\r
59 m_pDockTree = (CDockTree*)m_MainView.AddDockedChild(new CDockTree, dwStyle|DS_DOCKED_BOTTOM, rcView.Height()/2);
\r
61 // Add the bottom right pane. It is a child of the bottom pane
\r
62 m_pDockList = (CDockList*)m_pDockTree->AddDockedChild(new CDockList, dwStyle|DS_DOCKED_RIGHT, rcView.Width()/2);
\r
64 // Add the top right pane. It is a child of the main pane.
\r
65 m_pDockText = (CDockText*)m_MainView.AddDockedChild(new CDockText, dwStyle|DS_DOCKED_RIGHT, rcView.Width()/2);
\r
69 void CMainFrame::OnViewList()
\r
71 DWORD dwStyle = DS_NO_UNDOCK | DS_NO_CAPTION | DS_CLIENTEDGE;
\r
72 if (m_pDockList->IsDocked())
\r
74 m_pDockList->Hide();
\r
75 GetFrameMenu().CheckMenuItem(IDM_VIEW_LIST, MF_UNCHECKED);
\r
79 m_pDockTree->Dock(m_pDockList, dwStyle | DS_DOCKED_RIGHT);
\r
80 GetFrameMenu().CheckMenuItem(IDM_VIEW_LIST, MF_CHECKED);
\r
84 void CMainFrame::OnViewText()
\r
86 DWORD dwStyle = DS_NO_UNDOCK | DS_NO_CAPTION | DS_CLIENTEDGE;
\r
88 if (m_pDockText->IsDocked())
\r
90 m_pDockText->Hide();
\r
91 GetFrameMenu().CheckMenuItem(IDM_VIEW_TEXT, MF_UNCHECKED);
\r
95 m_MainView.Dock(m_pDockText, dwStyle | DS_DOCKED_RIGHT);
\r
96 GetFrameMenu().CheckMenuItem(IDM_VIEW_TEXT, MF_CHECKED);
\r
100 void CMainFrame::SetupToolBar()
\r
102 // Define the resource IDs for the toolbar
\r
103 AddToolBarButton( IDM_FILE_NEW );
\r
104 AddToolBarButton( IDM_FILE_OPEN );
\r
105 AddToolBarButton( IDM_FILE_SAVE );
\r
106 AddToolBarButton( 0 ); // Separator
\r
107 AddToolBarButton( IDM_EDIT_CUT );
\r
108 AddToolBarButton( IDM_EDIT_COPY );
\r
109 AddToolBarButton( IDM_EDIT_PASTE );
\r
110 AddToolBarButton( 0 ); // Separator
\r
111 AddToolBarButton( IDM_FILE_PRINT );
\r
112 AddToolBarButton( 0 ); // Separator
\r
113 AddToolBarButton( IDM_HELP_ABOUT );
\r
116 LRESULT CMainFrame::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
\r
120 // Add case statements for each messages to be handled here
\r
123 // pass unhandled messages on for default processing
\r
124 return WndProcDefault(uMsg, wParam, lParam);
\r