MainFrm.cpp
上传用户:power_led
上传日期:2013-04-11
资源大小:373k
文件大小:4k
源码类别:

ICQ/即时通讯

开发平台:

Visual C++

  1. // MainFrm.cpp : implementation of the CMainFrame class
  2. //
  3. #include "stdafx.h"
  4. #include "CChatServer.h"
  5. #include "MyTreeView.h"
  6. #include "MyFormView.h"
  7. #include "MainFrm.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CMainFrame
  15. IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
  16. BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
  17. //{{AFX_MSG_MAP(CMainFrame)
  18. ON_WM_CREATE()
  19. ON_WM_CLOSE()
  20. ON_WM_SIZE()
  21. //}}AFX_MSG_MAP
  22. ON_MESSAGE(WM_TASKICON,OnTaskIcon)
  23. END_MESSAGE_MAP()
  24. static UINT indicators[] =
  25. {
  26. ID_SEPARATOR,           // status line indicator
  27. ID_INDICATOR_CAPS,
  28. ID_INDICATOR_NUM,
  29. ID_INDICATOR_SCRL,
  30. };
  31. /////////////////////////////////////////////////////////////////////////////
  32. // CMainFrame construction/destruction
  33. CMainFrame::CMainFrame()
  34. {
  35. // TODO: add member initialization code here
  36. }
  37. CMainFrame::~CMainFrame()
  38. {
  39. }
  40. int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  41. {
  42. if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
  43. return -1;
  44. if (!m_wndStatusBar.Create(this) ||
  45. !m_wndStatusBar.SetIndicators(indicators,
  46.   sizeof(indicators)/sizeof(UINT)))
  47. {
  48. TRACE0("Failed to create status barn");
  49. return -1;      // fail to create
  50. }
  51. // TODO: Delete these three lines if you don't want the toolbar to
  52. CRect rect;
  53. rect.SetRect(0,0,200,420);
  54. MoveWindow(&rect);
  55. CenterWindow();
  56. SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOSIZE | SWP_NOMOVE);
  57. return 0;
  58. }
  59. BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
  60. {
  61. if( !CFrameWnd::PreCreateWindow(cs) )
  62. return FALSE;
  63. // TODO: Modify the Window class or styles here by modifying
  64. //  the CREATESTRUCT cs
  65. return TRUE;
  66. }
  67. /////////////////////////////////////////////////////////////////////////////
  68. // CMainFrame diagnostics
  69. #ifdef _DEBUG
  70. void CMainFrame::AssertValid() const
  71. {
  72. CFrameWnd::AssertValid();
  73. }
  74. void CMainFrame::Dump(CDumpContext& dc) const
  75. {
  76. CFrameWnd::Dump(dc);
  77. }
  78. #endif //_DEBUG
  79. /////////////////////////////////////////////////////////////////////////////
  80. // CMainFrame message handlers
  81. CMyTreeView * CMainFrame::GetTreeView()
  82. {
  83. return (CMyTreeView *)m_wndSplitter.GetPane(0,0);
  84. }
  85. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
  86. {
  87. // TODO: Add your specialized code here and/or call the base class
  88. m_wndSplitter.CreateStatic(this,1,2);
  89. CSize size;
  90. CRect rect;
  91. GetClientRect(&rect);
  92. size.cx = rect.Width();
  93. size.cy = rect.Height();
  94. size.cx /= 2;
  95. size.cy /= 2;
  96. if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CMyTreeView),size,pContext))
  97. {
  98. TRACE0("Faile to Createn");
  99. return FALSE;
  100. }
  101. if(!m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CMyFormView),size,pContext))
  102. {
  103. TRACE("Faile to Createn");
  104. return FALSE;
  105. }
  106. return CFrameWnd::OnCreateClient(lpcs, pContext);
  107. }
  108. CSplitterWnd & CMainFrame::GetSplitteWnd()
  109. {
  110. return m_wndSplitter;
  111. }
  112. void CMainFrame::OnClose() 
  113. {
  114. // TODO: Add your message handler code here and/or call default
  115. if(MessageBox("真的要关闭服务器?","警告!",IDRETRY) == IDNO)
  116.    return ;
  117. CFrameWnd::OnClose();
  118. }
  119. void CMainFrame::OnTaskIcon(WPARAM wParam,LPARAM lParam)
  120. {
  121. if(lParam == WM_LBUTTONDBLCLK || lParam == WM_LBUTTONDOWN)
  122. ShowWindow(SW_SHOWNORMAL);
  123. return;
  124. }
  125. void CMainFrame::OnSize(UINT nType, int cx, int cy) 
  126. {
  127. CFrameWnd::OnSize(nType, cx, cy);
  128. // TODO: Add your message handler code here
  129. if(nType == SW_SHOWNORMAL)
  130. ShowWindow(SW_HIDE);
  131. }