CGuiEditView.h
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小: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. COLORREF clrColor;
  75. BOOL bBold;
  76. };
  77. enum ChangeType {ctUndo, ctUnknown, ctReplSel, ctDelete, ctBack, ctCut, ctPaste, ctMove};
  78. BOOL m_bCaseSensitive;
  79. BOOL m_bChangeCase;
  80. TCHAR m_chComment;
  81. TCHAR m_chComment2;
  82. CString m_strComment;
  83. CString m_strInitComment;
  84. CString m_strEndComment;
  85. CString m_strStringQuotes;
  86. CString m_strKeywords;
  87. CString m_strKeywordsLower;
  88. CString m_strConstants;
  89. CString m_strConstantsLower;
  90. SymbolColor m_icComment;
  91. SymbolColor m_icNumber;
  92. SymbolColor m_icString;
  93. SymbolColor m_icKeyword;
  94. SymbolColor m_icConstant;
  95. BOOL m_bInForcedChange;
  96. ChangeType m_changeType;
  97. CHARRANGE m_crOldSel;
  98. // Generated message map functions
  99. protected:
  100. //{{AFX_MSG(CGuiEditView)
  101. afx_msg void OnChange();
  102. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  103. //}}AFX_MSG
  104. DECLARE_MESSAGE_MAP()
  105. afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);
  106. afx_msg void OnProtected(NMHDR*, LRESULT* pResult);
  107. };
  108. #ifndef _DEBUG  // debug version in VBScriptEditorView.cpp
  109. inline CVBScriptEditorDoc* CGuiEditView::GetDocument()
  110.    { return (CVBScriptEditorDoc*)m_pDocument; }
  111. #endif
  112. /////////////////////////////////////////////////////////////////////////////
  113. //{{AFX_INSERT_LOCATION}}
  114. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  115. #endif // !defined(AFX_VBSCRIPTEDITORVIEW_H__EDDE6D51_C472_11D1_8635_00403395B157__INCLUDED_)