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

对话框与窗口

开发平台:

Visual C++

  1. //-----------------------------------------------------------------------//
  2. // This is a part of the GuiLib MFC Extention.  //
  3. // Modified  :  Francisco Campos  //
  4. // (C) 2002 Francisco Campos <www.beyondata.com> All rights reserved     //
  5. // This code is provided "as is", with absolutely no warranty expressed  //
  6. // or implied. Any use is at your own risk.  //
  7. // You must obtain the author's consent before you can include this code //
  8. // in a software library.  //
  9. // If the source code in  this file is used in any application  //
  10. // then acknowledgement must be made to the author of this program  //
  11. // fcampos@tutopia.com  //
  12. //-----------------------------------------------------------------------//
  13. // Copyright (C) 1998 by Juraj Rojko jrojko@twist.cz
  14. // All rights reserved
  15. //
  16. // VBScriptEditorView.h : interface of the CGuiEditView class
  17. //
  18. #if !defined(AFX_VBSCRIPTEDITORVIEW_H__EDDE6D51_C472_11D1_8635_00403395B157__INCLUDED_)
  19. #define AFX_VBSCRIPTEDITORVIEW_H__EDDE6D51_C472_11D1_8635_00403395B157__INCLUDED_
  20. #if _MSC_VER >= 1000
  21. #pragma once
  22. #endif // _MSC_VER >= 1000
  23. class CGuiEditView : public CRichEditView
  24. {
  25. protected: // create from serialization only
  26. CGuiEditView();
  27. DECLARE_DYNCREATE(CGuiEditView)
  28. void Initialize();
  29. // Attributes
  30. public:
  31. CVBScriptEditorDoc* GetDocument();
  32. void SetCaseSensitive(BOOL bSensitive);
  33. void SetChangeCase(BOOL bChange);
  34. void SetSLComment(TCHAR chComment, TCHAR chComment2 = 0);
  35. void SetSLComment(LPCTSTR lpszComment);
  36. void SetStringQuotes(LPCTSTR lpszStrQ);
  37. void AddKeywords(LPCTSTR lpszKwd);
  38. void AddConstants(LPCTSTR lpszKwd);
  39. void ClearKeywords();
  40. void ClearConstants();
  41. void SetKeywordColor(COLORREF clr, BOOL bBold);
  42. void SetConstantColor(COLORREF clr, BOOL bBold);
  43. void SetCommentColor(COLORREF clr, BOOL bBold);
  44. void SetNumberColor(COLORREF clr, BOOL bBold);
  45. void SetStringColor(COLORREF clr, BOOL bBold);
  46. // Operations
  47. public:
  48. void FormatAll();
  49. // Overrides
  50. // ClassWizard generated virtual function overrides
  51. //{{AFX_VIRTUAL(CGuiEditView)
  52. public:
  53. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  54. protected:
  55. virtual void OnInitialUpdate(); // called first time after construct
  56. virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
  57. //}}AFX_VIRTUAL
  58. // Implementation
  59. public:
  60. virtual ~CGuiEditView();
  61. #ifdef _DEBUG
  62. virtual void AssertValid() const;
  63. virtual void Dump(CDumpContext& dc) const;
  64. #endif
  65. protected:
  66. BOOL IsStringQuote(TCHAR ch);
  67. int IsKeyword(LPCTSTR lpszSymbol);
  68. int IsConstant(LPCTSTR lpszSymbol);
  69. void SetFormatRange(int nStart, int nEnd, BOOL bBold, COLORREF clr);
  70. void FormatTextRange(int nStart, int nEnd);
  71. void FormatTextLines(int nStart, int nEnd);
  72. void ChangeCase(int nStart, int nEnd, LPCTSTR lpszStr);
  73. struct SymbolColor 
  74. {
  75. COLORREF clrColor;
  76. BOOL bBold;
  77. };
  78. enum ChangeType {ctUndo, ctUnknown, ctReplSel, ctDelete, ctBack, ctCut, ctPaste, ctMove};
  79. BOOL m_bCaseSensitive;
  80. BOOL m_bChangeCase;
  81. TCHAR m_chComment;
  82. TCHAR m_chComment2;
  83. CString m_strComment;
  84. CString m_strInitComment;
  85. CString m_strEndComment;
  86. CString m_strStringQuotes;
  87. CString m_strKeywords;
  88. CString m_strKeywordsLower;
  89. CString m_strConstants;
  90. CString m_strConstantsLower;
  91. SymbolColor m_icComment;
  92. SymbolColor m_icNumber;
  93. SymbolColor m_icString;
  94. SymbolColor m_icKeyword;
  95. SymbolColor m_icConstant;
  96. BOOL m_bInForcedChange;
  97. ChangeType m_changeType;
  98. CHARRANGE m_crOldSel;
  99. // Generated message map functions
  100. protected:
  101. //{{AFX_MSG(CGuiEditView)
  102. afx_msg void OnChange();
  103. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  104. //}}AFX_MSG
  105. DECLARE_MESSAGE_MAP()
  106. afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);
  107. afx_msg void OnProtected(NMHDR*, LRESULT* pResult);
  108. };
  109. #ifndef _DEBUG  // debug version in VBScriptEditorView.cpp
  110. inline CVBScriptEditorDoc* CGuiEditView::GetDocument()
  111. { return (CVBScriptEditorDoc*)m_pDocument; }
  112. #endif
  113. /////////////////////////////////////////////////////////////////////////////
  114. //{{AFX_INSERT_LOCATION}}
  115. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  116. #endif // !defined(AFX_VBSCRIPTEDITORVIEW_H__EDDE6D51_C472_11D1_8635_00403395B157__INCLUDED_)