00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef SWDispRTFH
00025 #define SWDispRTFH
00026
00027 #include <vcl\SysUtils.hpp>
00028 #include <vcl\Controls.hpp>
00029 #include <vcl\Classes.hpp>
00030 #include <vcl\Forms.hpp>
00031 #include <vcl\ComCtrls.hpp>
00032 #include <vcl\StdCtrls.hpp>
00033 #include <swtext.h>
00034 #ifndef USEOLDRTF
00035 #include <RxRichEdit.hpp>
00036 #endif
00037
00038
00039 #define defRTFHeader "{\\rtf1\\ansi{\\fonttbl{\\f0\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f1\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f2\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f3\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f4\\froman\\fcharset0\\fprq2 Times New Roman;}{\\f7\\froman\\fcharset2\\fprq2 Symbol;}{\\f8\\froman\\fcharset2\\fprq2 Symbol;}}{\\colortbl;\\red0\\green0\\blue255;\\red0\\green200\\blue50;\\red0\\green0\\blue255;\\red0\\green200\\blue50;\\red0\\green0\\blue255;\\red255\\green0\\blue0;} "
00040 #define defRTFHeadMargin "{\\fs8\\cf1\\par\\pard} "
00041 #define defRTFTrailer "{\\fs%d \\par }}" // 24
00042
00043 #define defRTFChapterMarkPre "\\pard \\qc\\nowidctlpar{\\f1\\cf7\\fs%d\\b Chapter " // 30
00044 #define defRTFChapterMarkPost "\\par\\fs%d\\par}" // 10
00045
00046 #define defRTFVerseMarkPre "{\\fs%d\\cf1\\super " //20
00047 #define defRTFVerseMarkPost "}"
00048
00049 #define defRTFVersePre "{\\fs%d" // 24
00050 #define defRTFVersePost " }"
00051
00052 #ifndef USEOLDRTF
00053 class SWDispRTF:public TRxRichEdit
00054 #else
00055 class SWDispRTF:public TRichEdit
00056 #endif
00057 {
00058 protected:
00059
00060 System::AnsiString FRTFHeader;
00061 System::AnsiString FRTFHeadMargin;
00062 System::AnsiString FRTFTrailer;
00063 System::AnsiString FRTFChapterMarkPre;
00064 System::AnsiString FRTFChapterMarkPost;
00065 System::AnsiString FRTFVerseMarkPre;
00066 System::AnsiString FRTFVerseMarkPost;
00067 System::AnsiString FRTFVersePre;
00068 System::AnsiString FRTFVersePost;
00069 bool FExpandNewLine;
00070 CHARRANGE FCharRange;
00071 int fontSize;
00072
00073 int __fastcall GetMySelStart ();
00074 void __fastcall SetMySelStart (int iselstart);
00075 int __fastcall getFontSize ();
00076 void __fastcall setFontSize (int iFontSize);
00077 void recalcHeaders ();
00078 protected:
00079 TMemoryStream * RTFStream;
00080
00081 virtual void __fastcall Loaded (void);
00082 public:
00083 __fastcall SWDispRTF (TComponent * Owner);
00084 __fastcall ~ SWDispRTF ();
00085
00086 virtual char Display (SWModule & imodule);
00087 __published:__property System::AnsiString RTFHeader =
00088 {
00089 read = FRTFHeader, write = FRTFHeader};
00090 __property System::AnsiString RTFHeadMargin = { read =
00091 FRTFHeadMargin, write = FRTFHeadMargin };
00092 __property System::AnsiString RTFChapterMarkPre = { read =
00093 FRTFChapterMarkPre, write = FRTFChapterMarkPre };
00094 __property System::AnsiString RTFChapterMarkPost = { read =
00095 FRTFChapterMarkPost, write = FRTFChapterMarkPost };
00096 __property System::AnsiString RTFVerseMarkPre = { read =
00097 FRTFVerseMarkPre, write = FRTFVerseMarkPre };
00098 __property System::AnsiString RTFVerseMarkPost = { read =
00099 FRTFVerseMarkPost, write = FRTFVerseMarkPost };
00100 __property System::AnsiString RTFVersePre = { read = FRTFVersePre, write =
00101 FRTFVersePre };
00102 __property System::AnsiString RTFVersePost = { read = FRTFVersePost, write =
00103 FRTFVersePost };
00104 __property System::AnsiString RTFTrailer = { read = FRTFTrailer, write =
00105 FRTFTrailer };
00106 __property bool ExpandNewLine = { read = FExpandNewLine, write =
00107 FExpandNewLine };
00108 __property int FontSize = { read = getFontSize, write = setFontSize };
00109 };
00110
00111
00112 #endif