OUTPUTREPORT.CPP
上传用户:shgx688
上传日期:2009-12-27
资源大小:855k
文件大小:3k
源码类别:

SNMP编程

开发平台:

MultiPlatform

  1. // OutputReport.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "oam.h"
  5. #include "OutputReport.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // COutputReport
  13. COutputReport::COutputReport()
  14. {
  15. m_nHasAlert = 0;
  16. m_nSplashCnt = 0;
  17. m_nChildID = 0;
  18. }
  19. COutputReport::~COutputReport()
  20. {
  21. }
  22. BEGIN_MESSAGE_MAP(COutputReport, TOutputWnd)
  23. //{{AFX_MSG_MAP(COutputReport)
  24. ON_WM_CONTEXTMENU()
  25. ON_COMMAND(ID_CLEAR_REPORT, OnClear)
  26. ON_COMMAND(ID_HIDE_REPORT, OnHideReport)
  27. //}}AFX_MSG_MAP
  28. END_MESSAGE_MAP()
  29. /////////////////////////////////////////////////////////////////////////////
  30. // COutputReport message handlers
  31. void COutputReport::UpdateHScroll()
  32. {
  33. if( m_bWordWrap ) return; // No need for word-wrapped output windows
  34. CRect clientRc; GetClientRect( &clientRc );
  35. int nMax = m_nMaxWidth - clientRc.Width();
  36. // m_wndSheet.ShowScrollBar(bShow);
  37. // if (bShow)
  38. // {
  39. // CRect rect; GetClientRect(rect);
  40. // m_wndSheet.GetScrollBar().SetScrollRange(0, SumWidthColumns() - rect.Width());
  41. // }
  42. if( nMax <= 0 )
  43. //InActivateHScrollBar
  44. {
  45. m_nXOffset = 0;
  46. }
  47. else
  48. //ActivateHScrollBar
  49. {
  50. }
  51. }
  52. int COutputReport::GetHScrollRange()
  53. {
  54. if( m_bWordWrap ) return 0; // No need for word-wrapped output windows
  55. CRect clientRc; GetClientRect( &clientRc );
  56. int nMax = m_nMaxWidth - clientRc.Width();
  57. if( nMax <= 0 )
  58. m_nXOffset = 0;
  59. return max(0,nMax);
  60. }
  61. void COutputReport::OnContextMenu(CWnd* pWnd, CPoint point) 
  62. {
  63. // TODO: Add your message handler code here
  64. // TODO: Add your message handler code here
  65. if (point.x == -1 && point.y == -1){
  66. //keystroke invocation
  67. CRect rect;
  68. GetClientRect(rect);
  69. ClientToScreen(rect);
  70. point = rect.TopLeft();
  71. point.Offset(5, 5);
  72. }
  73. CMenu menu;
  74. VERIFY(menu.LoadMenu(IDR_MENU_LISTBOX));
  75. CMenu* pPopup = menu.GetSubMenu(0);
  76. ASSERT(pPopup != NULL);
  77. CWnd* pWndPopupOwner = this;
  78. // while (pWndPopupOwner->GetStyle() & WS_CHILD)
  79. // pWndPopupOwner = pWndPopupOwner->GetParent();
  80. pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y,
  81. pWndPopupOwner);
  82. }
  83. void COutputReport::OnClear() 
  84. {
  85. // TODO: Add your command handler code here
  86. ClearBuffer();
  87. }
  88. void COutputReport::OnHideReport() 
  89. {
  90. // TODO: Add your command handler code here
  91. CWnd * pWnd = AfxGetMainWnd();
  92. if(pWnd)
  93. pWnd->SendMessage(WM_COMMAND,ID_VIEW_OUTPUT,0);
  94. }