Gui_DevStudioView.cpp
上传用户:wlkj888
上传日期:2022-08-01
资源大小:806k
文件大小:4k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // Gui_DevStudioView.cpp : implementation of the CGui_DevStudioView class
  2. //
  3. #include "stdafx.h"
  4. #include "Gui_DevStudio.h"
  5. #include "Gui_DevStudioDoc.h"
  6. #include "Gui_DevStudioView.h"
  7. #include "NewMenu.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CGui_DevStudioView
  15. IMPLEMENT_DYNCREATE(CGui_DevStudioView, CEditView)
  16. BEGIN_MESSAGE_MAP(CGui_DevStudioView, CEditView)
  17. //{{AFX_MSG_MAP(CGui_DevStudioView)
  18. ON_COMMAND(ID_FILE_PRINT_PREVIEW, OnFilePrintPreview)
  19. ON_WM_CONTEXTMENU()
  20. //}}AFX_MSG_MAP
  21. // Standard printing commands
  22. ON_COMMAND(ID_FILE_PRINT, CEditView::OnFilePrint)
  23. ON_COMMAND(ID_FILE_PRINT_DIRECT, CEditView::OnFilePrint)
  24. END_MESSAGE_MAP()
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CGui_DevStudioView construction/destruction
  27. CGui_DevStudioView::CGui_DevStudioView()
  28. {
  29. // TODO: add construction code here
  30. }
  31. CGui_DevStudioView::~CGui_DevStudioView()
  32. {
  33. }
  34. BOOL CGui_DevStudioView::PreCreateWindow(CREATESTRUCT& cs)
  35. {
  36. // TODO: Modify the Window class or styles here by modifying
  37. //  the CREATESTRUCT cs
  38. BOOL bPreCreated = CEditView::PreCreateWindow(cs);
  39. cs.style &= ~(ES_AUTOHSCROLL|WS_HSCROLL); // Enable word-wrapping
  40. return bPreCreated;
  41. }
  42. /////////////////////////////////////////////////////////////////////////////
  43. // CGui_DevStudioView drawing
  44. void CGui_DevStudioView::OnDraw(CDC* pDC)
  45. {
  46. CGui_DevStudioDoc* pDoc = GetDocument();
  47. ASSERT_VALID(pDoc);
  48. // TODO: add draw code for native data here
  49. }
  50. /////////////////////////////////////////////////////////////////////////////
  51. // CGui_DevStudioView printing
  52. BOOL CGui_DevStudioView::OnPreparePrinting(CPrintInfo* pInfo)
  53. {
  54. // default CEditView preparation
  55. return CEditView::OnPreparePrinting(pInfo);
  56. }
  57. void CGui_DevStudioView::OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo)
  58. {
  59. // Default CEditView begin printing.
  60. CEditView::OnBeginPrinting(pDC, pInfo);
  61. }
  62. void CGui_DevStudioView::OnEndPrinting(CDC* pDC, CPrintInfo* pInfo)
  63. {
  64. // Default CEditView end printing
  65. CEditView::OnEndPrinting(pDC, pInfo);
  66. }
  67. /////////////////////////////////////////////////////////////////////////////
  68. // CGui_DevStudioView diagnostics
  69. #ifdef _DEBUG
  70. /*void CGui_DevStudioView::AssertValid() const
  71. {
  72. CEditView::AssertValid();
  73. }
  74. void CGui_DevStudioView::Dump(CDumpContext& dc) const
  75. {
  76. CEditView::Dump(dc);
  77. }
  78. */
  79. CGui_DevStudioDoc* CGui_DevStudioView::GetDocument() // non-debug version is inline
  80. {
  81. ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CGui_DevStudioDoc)));
  82. return (CGui_DevStudioDoc*)m_pDocument;
  83. }
  84. #endif //_DEBUG
  85. /////////////////////////////////////////////////////////////////////////////
  86. // CGui_DevStudioView message handlers
  87. static CString GetShort(UINT id)
  88. {
  89. CString str;
  90. str.LoadString(id);
  91. int nIndex = str.ReverseFind(_T('n'));
  92. if(nIndex!=-1)
  93. {
  94. str=str.Mid(nIndex+1);
  95. }
  96. return str;
  97. }
  98. void CGui_DevStudioView::OnContextMenu(CWnd* pWnd, CPoint point) 
  99. {
  100. // TODO: Add your message handler code here
  101. if(point.x==-1 && point.y==-1)
  102. {
  103. CRect rect;
  104. GetWindowRect(rect);
  105. point = rect.TopLeft()+CPoint(10,10);
  106. }
  107. SetFocus();
  108. CMenu menu;
  109. menu.CreatePopupMenu();
  110. menu.InsertMenu(0, MF_BYPOSITION , ID_EDIT_UNDO, GetShort(ID_EDIT_UNDO));
  111. menu.InsertMenu(1, MF_BYPOSITION|MF_SEPARATOR);
  112. menu.InsertMenu(2, MF_BYPOSITION , ID_EDIT_COPY, GetShort(ID_EDIT_COPY));
  113. menu.InsertMenu(2, MF_BYPOSITION , ID_EDIT_CUT, GetShort(ID_EDIT_CUT));
  114. menu.InsertMenu(4, MF_BYPOSITION , ID_EDIT_CLEAR, GetShort(ID_EDIT_CLEAR));
  115. menu.InsertMenu(5, MF_BYPOSITION , ID_EDIT_PASTE, GetShort(ID_EDIT_PASTE));
  116. menu.InsertMenu(6, MF_BYPOSITION|MF_SEPARATOR);
  117. menu.InsertMenu(7, MF_BYPOSITION , ID_EDIT_SELECT_ALL,GetShort(ID_EDIT_SELECT_ALL));
  118. // menu.SetMenuTitle(_T("Edit commands"),MFT_GRADIENT|MFT_SIDE_TITLE|MFT_LINE);
  119. //menu.Lo.LoadToolBar(IDR_MAINFRAME);
  120. menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
  121. }