RichEditCtrlGS.h
上传用户:glsy7826
上传日期:2022-06-19
资源大小:180k
文件大小:3k
开发平台:

Visual C++

  1. #if !defined(RICHEDITCTRL_H__GS_20030325__INCLUDED_)
  2. #define RICHEDITCTRL_H__GS_20030325__INCLUDED_
  3. #if _MSC_VER > 1000
  4. #pragma once
  5. #endif // _MSC_VER > 1000
  6. // RichEditGS.h : header file
  7. //
  8. #include <afxpriv.h>
  9. #include <afxcmn.h>
  10. #include <AfxRich.h>
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CRichEditCtrlGS window
  13. // Helper Structures
  14. struct SCookieString
  15. { long lStart;
  16.   long lSize;
  17.   const CString *pInText;
  18.   CString *pOutText;
  19. };
  20. struct SCookieByteArray
  21. { long lStart;
  22.   long lSize;
  23.   const CByteArray *pInText;
  24.   CByteArray *pOutText;
  25. };
  26. struct SCookieFile
  27. { long lStart;
  28.   long lSize;
  29.   const CString *pFilename;
  30.   CFile   fileInText;
  31.   CFile   fileOutText;
  32. };
  33. class CRichEditCtrlGS : public CRichEditCtrl
  34. {
  35. // Construction / Destruction
  36. public:
  37. CRichEditCtrlGS();
  38. virtual ~CRichEditCtrlGS();
  39. // Attributes
  40. public:
  41. // Character and Font Attributes
  42. int IsBold(void);
  43. int IsItalic(void);
  44. int IsUnderlined(void);
  45. int IsStrikeout(void);
  46. int IsProtected(void);
  47. int IsLinked(void);
  48.     void SetBold(void);
  49. void SetItalic(void);
  50. void SetUnderlined(void);
  51. void SetStrikeout(void);
  52. void SetProtected(void);
  53. void SetLink(void);
  54. int  GetFontSize(void);
  55. void SetFontSize(int nPointSize);
  56. CString GetFontName(void);
  57. void SetFontName(const CString strFontName);
  58.     void SetColour(COLORREF color);
  59. // Paragraph Attributes
  60. int IsRight(void);
  61. int IsLeft(void);
  62. int IsCentered(void);
  63. int IsJustified(void);
  64. int IsBulleted(void);
  65. void SetRight(void);
  66. void SetLeft(void);
  67. void SetCenter(void);
  68. void SetJustify(void);
  69. void SetBullet(void);
  70. // PARAFORMAT GetParagraphFormat();
  71. // Visual Appearance
  72.     void SetWordWrap(const bool bOn=true, const int iLineWidth=0);
  73. // Operations
  74. public:
  75. // Overrides
  76. // ClassWizard generated virtual function overrides
  77. //{{AFX_VIRTUAL(CRichEditCtrlGS)
  78. //}}AFX_VIRTUAL
  79. // Implementation
  80. public:
  81. // Reading and Writing
  82. void SetRTF(const CString strText);
  83. void SetRTF(const CByteArray& arrRTF);
  84. void SetRTF(const UINT resID);
  85.     void LoadRTF(const CString strFilename);
  86.     void GetRTF(CString& strText, const bool bAsRTF=true);
  87.     void GetRTF(CByteArray& arrText, const bool bAsRTF=true);
  88.     void WriteRTF(const CString strFilename, const bool bAsRTF=true);
  89. // Generated message map functions
  90. protected:
  91. //{{AFX_MSG(CRichEditCtrlGS)
  92. // NOTE - the ClassWizard will add and remove member functions here.
  93. //}}AFX_MSG
  94. DECLARE_MESSAGE_MAP()
  95. private:
  96. // StreamIn and StreamOut methods
  97. static DWORD CALLBACK StreamInCString(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);
  98. static DWORD CALLBACK StreamInCByteArray(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);
  99. static DWORD CALLBACK StreamInCFile(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);
  100. static DWORD CALLBACK StreamOutCString(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG* pcb);
  101. static DWORD CALLBACK StreamOutCByteArray(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG* pcb);
  102. static DWORD CALLBACK StreamOutCFile(DWORD dwCookie, LPBYTE pbBuff, LONG cb, LONG *pcb);
  103. };
  104. /////////////////////////////////////////////////////////////////////////////
  105. //{{AFX_INSERT_LOCATION}}
  106. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  107. #endif // !defined(RICHEDITCTRL_H__GS_20030325__INCLUDED_)