added style-range selection (carbon-only for now), updated test for the new feature

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@839 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2009-06-12 20:46:34 +00:00
parent 8b838af59f
commit b39665794f
7 changed files with 430 additions and 238 deletions

View File

@ -6,7 +6,7 @@
<MainUnit Value="0"/>
<TargetFileExt Value=""/>
<UseXPManifest Value="True"/>
<ActiveEditorIndexAtStart Value="2"/>
<ActiveEditorIndexAtStart Value="0"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
@ -32,7 +32,7 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="36">
<Units Count="37">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
@ -40,7 +40,7 @@
<CursorPos X="32" Y="12"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="37"/>
<UsageCount Value="46"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@ -49,10 +49,10 @@
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<CursorPos X="21" Y="93"/>
<TopLine Value="75"/>
<CursorPos X="62" Y="83"/>
<TopLine Value="76"/>
<EditorIndex Value="0"/>
<UsageCount Value="37"/>
<UsageCount Value="46"/>
<Loaded Value="True"/>
</Unit1>
<Unit2>
@ -137,7 +137,7 @@
<UnitName Value="CarbonGDIObjects"/>
<CursorPos X="3" Y="1109"/>
<TopLine Value="1100"/>
<UsageCount Value="18"/>
<UsageCount Value="22"/>
<Bookmarks Count="1">
<Item0 X="25" Y="150" ID="1"/>
</Bookmarks>
@ -192,7 +192,7 @@
<UnitName Value="CarbonPrivate"/>
<CursorPos X="17" Y="649"/>
<TopLine Value="640"/>
<UsageCount Value="17"/>
<UsageCount Value="21"/>
<Loaded Value="True"/>
</Unit20>
<Unit21>
@ -238,65 +238,60 @@
<Unit27>
<Filename Value="../../richmemo.pas"/>
<UnitName Value="RichMemo"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="7"/>
<UsageCount Value="14"/>
<CursorPos X="14" Y="29"/>
<TopLine Value="19"/>
<EditorIndex Value="5"/>
<UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit27>
<Unit28>
<Filename Value="../../wsrichmemo.pas"/>
<UnitName Value="WSRichMemo"/>
<CursorPos X="3" Y="57"/>
<TopLine Value="57"/>
<EditorIndex Value="8"/>
<UsageCount Value="14"/>
<CursorPos X="66" Y="42"/>
<TopLine Value="41"/>
<EditorIndex Value="6"/>
<UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit28>
<Unit29>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<UnitName Value="CarbonRichMemo"/>
<CursorPos X="1" Y="267"/>
<TopLine Value="249"/>
<CursorPos X="24" Y="222"/>
<TopLine Value="262"/>
<EditorIndex Value="2"/>
<UsageCount Value="13"/>
<UsageCount Value="17"/>
<Bookmarks Count="2">
<Item0 X="16" Y="230" ID="2"/>
<Item1 X="33" Y="467" ID="4"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit29>
<Unit30>
<Filename Value="../../../fpc/packages/univint/src/MacOSAll.pas"/>
<UnitName Value="MacOSAll"/>
<CursorPos X="1" Y="218294"/>
<TopLine Value="218272"/>
<EditorIndex Value="6"/>
<UsageCount Value="12"/>
<Bookmarks Count="1">
<Item0 X="32" Y="83842" ID="2"/>
</Bookmarks>
<CursorPos X="39" Y="220678"/>
<TopLine Value="220670"/>
<EditorIndex Value="3"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
</Unit30>
<Unit31>
<Filename Value="../../../fpc/rtl/objpas/sysutils/osutilsh.inc"/>
<CursorPos X="10" Y="34"/>
<TopLine Value="18"/>
<EditorIndex Value="5"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<TopLine Value="20"/>
<UsageCount Value="11"/>
</Unit31>
<Unit32>
<Filename Value="../../../fpc/rtl/objpas/classes/classesh.inc"/>
<CursorPos X="19" Y="728"/>
<TopLine Value="709"/>
<EditorIndex Value="3"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<TopLine Value="714"/>
<UsageCount Value="11"/>
</Unit32>
<Unit33>
<Filename Value="../../../fpc/rtl/objpas/classes/streams.inc"/>
<CursorPos X="8" Y="147"/>
<TopLine Value="140"/>
<EditorIndex Value="4"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
<UsageCount Value="11"/>
</Unit33>
<Unit34>
<Filename Value="../../../../wnlibsvn/CarbonPaste.pas"/>
@ -304,7 +299,7 @@
<UnitName Value="CarbonPaste"/>
<CursorPos X="43" Y="9"/>
<TopLine Value="1"/>
<UsageCount Value="21"/>
<UsageCount Value="30"/>
</Unit34>
<Unit35>
<Filename Value="../../../fpc/rtl/objpas/sysutils/sysutilh.inc"/>
@ -312,127 +307,136 @@
<TopLine Value="169"/>
<UsageCount Value="10"/>
</Unit35>
<Unit36>
<Filename Value="../../../lazarus/lcl/widgetset/wsstdctrls.pp"/>
<UnitName Value="WSStdCtrls"/>
<CursorPos X="20" Y="145"/>
<TopLine Value="138"/>
<EditorIndex Value="4"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit36>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="332" Column="3" TopLine="330"/>
<Caret Line="451" Column="48" TopLine="439"/>
</Position1>
<Position2>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="362" Column="5" TopLine="340"/>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="21" TopLine="15"/>
</Position2>
<Position3>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="349" Column="1" TopLine="345"/>
<Filename Value="unit1.pas"/>
<Caret Line="110" Column="1" TopLine="94"/>
</Position3>
<Position4>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="336" Column="34" TopLine="325"/>
<Filename Value="unit1.pas"/>
<Caret Line="109" Column="45" TopLine="99"/>
</Position4>
<Position5>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="327" Column="15" TopLine="316"/>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="26" TopLine="9"/>
</Position5>
<Position6>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="355" Column="37" TopLine="344"/>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="18" TopLine="9"/>
</Position6>
<Position7>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="347" Column="18" TopLine="344"/>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="32" TopLine="9"/>
</Position7>
<Position8>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="358" Column="18" TopLine="347"/>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="18" TopLine="9"/>
</Position8>
<Position9>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="372" Column="3" TopLine="352"/>
<Filename Value="unit1.pas"/>
<Caret Line="26" Column="30" TopLine="9"/>
</Position9>
<Position10>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="371" Column="3" TopLine="351"/>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="26" TopLine="9"/>
</Position10>
<Position11>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="362" Column="22" TopLine="351"/>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="18" TopLine="9"/>
</Position11>
<Position12>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="384" Column="38" TopLine="375"/>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="30" TopLine="9"/>
</Position12>
<Position13>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="392" Column="3" TopLine="388"/>
<Filename Value="unit1.pas"/>
<Caret Line="111" Column="29" TopLine="101"/>
</Position13>
<Position14>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="381" Column="18" TopLine="373"/>
<Filename Value="unit1.pas"/>
<Caret Line="74" Column="1" TopLine="71"/>
</Position14>
<Position15>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="404" Column="5" TopLine="382"/>
<Filename Value="unit1.pas"/>
<Caret Line="78" Column="1" TopLine="73"/>
</Position15>
<Position16>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="240" Column="16" TopLine="229"/>
<Filename Value="unit1.pas"/>
<Caret Line="88" Column="33" TopLine="80"/>
</Position16>
<Position17>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="60" Column="14" TopLine="52"/>
<Filename Value="unit1.pas"/>
<Caret Line="75" Column="1" TopLine="73"/>
</Position17>
<Position18>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="449" Column="36" TopLine="429"/>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="30" TopLine="25"/>
</Position18>
<Position19>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="445" Column="20" TopLine="437"/>
<Filename Value="unit1.pas"/>
<Caret Line="26" Column="52" TopLine="25"/>
</Position19>
<Position20>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="462" Column="7" TopLine="448"/>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="30" TopLine="25"/>
</Position20>
<Position21>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="426" Column="17" TopLine="415"/>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="30" TopLine="24"/>
</Position21>
<Position22>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="440" Column="13" TopLine="410"/>
<Filename Value="unit1.pas"/>
<Caret Line="88" Column="33" TopLine="81"/>
</Position22>
<Position23>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="418" Column="48" TopLine="410"/>
<Filename Value="unit1.pas"/>
<Caret Line="80" Column="7" TopLine="75"/>
</Position23>
<Position24>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="309" Column="71" TopLine="301"/>
<Filename Value="unit1.pas"/>
<Caret Line="88" Column="1" TopLine="75"/>
</Position24>
<Position25>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="348" Column="32" TopLine="324"/>
<Filename Value="unit1.pas"/>
<Caret Line="79" Column="3" TopLine="75"/>
</Position25>
<Position26>
<Filename Value="../../../fpc/packages/univint/src/MacOSAll.pas"/>
<Caret Line="224096" Column="91" TopLine="224080"/>
<Filename Value="unit1.pas"/>
<Caret Line="33" Column="44" TopLine="33"/>
</Position26>
<Position27>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="351" Column="1" TopLine="340"/>
<Filename Value="unit1.pas"/>
<Caret Line="110" Column="3" TopLine="108"/>
</Position27>
<Position28>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="340" Column="1" TopLine="324"/>
<Filename Value="unit1.pas"/>
<Caret Line="93" Column="1" TopLine="91"/>
</Position28>
<Position29>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="274" Column="1" TopLine="260"/>
<Filename Value="unit1.pas"/>
<Caret Line="89" Column="1" TopLine="76"/>
</Position29>
<Position30>
<Filename Value="../../carbon/carbonrichmemo.pas"/>
<Caret Line="269" Column="9" TopLine="247"/>
<Filename Value="unit1.pas"/>
<Caret Line="104" Column="1" TopLine="91"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -1,8 +1,8 @@
object Form1: TForm1
Left = 234
Height = 592
Top = 220
Width = 752
Left = 333
Height = 596
Top = 22
Width = 751
Align = alNone
AllowDropFiles = False
AutoScroll = True
@ -11,14 +11,15 @@ object Form1: TForm1
BorderStyle = bsSizeable
BorderWidth = 0
Caption = 'Form1'
ClientHeight = 592
ClientWidth = 752
ClientHeight = 596
ClientWidth = 751
DefaultMonitor = dmActiveForm
DockSite = False
DragKind = dkDrag
DragMode = dmManual
Enabled = True
FormStyle = fsNormal
OnCreate = FormCreate
ParentBiDiMode = True
ParentFont = False
Position = poDesigned
@ -27,10 +28,10 @@ object Form1: TForm1
LCLVersion = '0.9.27'
WindowState = wsNormal
object RichMemo1: TRichMemo
Left = 32
Height = 518
Top = 24
Width = 288
Left = 40
Height = 432
Top = 32
Width = 704
Align = alNone
Alignment = taLeftJustify
Anchors = [akTop, akLeft, akRight, akBottom]
@ -61,8 +62,8 @@ object Form1: TForm1
object Button1: TButton
Left = 24
Height = 25
Top = 548
Width = 152
Top = 472
Width = 160
Align = alNone
Anchors = [akLeft, akBottom]
AutoSize = False
@ -84,10 +85,10 @@ object Form1: TForm1
Visible = True
end
object Button2: TButton
Left = 184
Left = 192
Height = 25
Top = 548
Width = 136
Top = 472
Width = 97
Align = alNone
Anchors = [akLeft, akBottom]
AutoSize = False
@ -109,10 +110,10 @@ object Form1: TForm1
Visible = True
end
object Button3: TButton
Left = 328
Left = 304
Height = 25
Top = 548
Width = 168
Top = 472
Width = 96
Align = alNone
Anchors = [akLeft, akBottom]
AutoSize = False
@ -134,9 +135,9 @@ object Form1: TForm1
Visible = True
end
object Button4: TButton
Left = 512
Left = 112
Height = 25
Top = 548
Top = 552
Width = 75
Align = alNone
AutoSize = False
@ -157,39 +158,10 @@ object Form1: TForm1
TabStop = True
Visible = True
end
object Memo1: TMemo
Left = 328
Height = 506
Top = 24
Width = 408
Align = alNone
Alignment = taLeftJustify
BorderStyle = bsSingle
Color = clWindow
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
Lines.Strings = (
'Memo1'
)
MaxLength = 0
ParentBidiMode = True
ParentColor = False
ParentFont = True
ParentShowHint = True
ReadOnly = False
ScrollBars = ssBoth
TabOrder = 5
TabStop = True
Visible = True
WantReturns = True
WantTabs = False
end
object Button5: TButton
Left = 600
Left = 24
Height = 25
Top = 547
Top = 552
Width = 75
Align = alNone
AutoSize = False
@ -206,6 +178,30 @@ object Form1: TForm1
OnClick = Button5Click
ParentFont = True
ParentShowHint = True
TabOrder = 5
TabStop = True
Visible = True
end
object Button6: TButton
Left = 24
Height = 25
Top = 504
Width = 160
Align = alNone
AutoSize = False
Cancel = False
Caption = 'Next Style Range'
Color = clBtnFace
Default = False
DragCursor = crDrag
DragKind = dkDrag
DragMode = dmManual
Enabled = True
ParentBidiMode = True
ModalResult = 0
OnClick = Button6Click
ParentFont = True
ParentShowHint = True
TabOrder = 6
TabStop = True
Visible = True
@ -213,7 +209,20 @@ object Form1: TForm1
object FontDialog1: TFontDialog
MinFontSize = 0
MaxFontSize = 0
left = 328
top = 368
left = 696
top = 472
end
object SaveDialog1: TSaveDialog
DefaultExt = '.rtf'
Filter = 'RichText file (*.rtf)|*.rtf'
Options = [ofOverwritePrompt, ofEnableSizing, ofViewDetail]
left = 616
top = 472
end
object OpenDialog1: TOpenDialog
DefaultExt = '.rtf'
Filter = 'RichText file (*.rtf)|*.rtf'
left = 536
top = 472
end
end

View File

@ -1,60 +1,64 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#234#0#6'Height'#3'P'#2#3'Top'#3#220#0#5'W'
+'idth'#3#240#2#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10'AutoScroll'#9#8
+'AutoSize'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'#10'biMaximiz'
+'e'#0#11'BorderStyle'#7#10'bsSizeable'#11'BorderWidth'#2#0#7'Caption'#6#5'Fo'
+'rm1'#12'ClientHeight'#3'P'#2#11'ClientWidth'#3#240#2#14'DefaultMonitor'#7#12
+'dmActiveForm'#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManua'
+'l'#7'Enabled'#9#9'FormStyle'#7#8'fsNormal'#14'ParentBiDiMode'#9#10'ParentFo'
+'nt'#8#8'Position'#7#10'poDesigned'#13'ShowInTaskBar'#7#9'stDefault'#14'UseD'
+'ockManager'#8#10'LCLVersion'#6#6'0.9.27'#11'WindowState'#7#8'wsNormal'#0#9
+'TRichMemo'#9'RichMemo1'#4'Left'#2' '#6'Height'#3#6#2#3'Top'#2#24#5'Width'#3
+' '#1#5'Align'#7#6'alNone'#9'Alignment'#7#13'taLeftJustify'#7'Anchors'#11#5
+'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'BorderStyle'#7#8'bsSingle'#5'C'
+'olor'#7#8'clWindow'#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'Dr'
+'agMode'#7#8'dmManual'#7'Enabled'#9#13'HideSelection'#8#13'Lines.Strings'#1#6
+#9'RichMemo1'#0#9'MaxLength'#2#0#14'ParentBidiMode'#9#11'ParentColor'#8#10'P'
+'arentFont'#9#14'ParentShowHint'#9#8'ReadOnly'#8#10'ScrollBars'#7#6'ssBoth'#8
+'TabOrder'#2#0#7'TabStop'#9#7'Visible'#9#11'WantReturns'#9#8'WantTabs'#8#8'W'
+'ordWrap'#8#0#0#7'TButton'#7'Button1'#4'Left'#2#24#6'Height'#2#25#3'Top'#3'$'
+#2#5'Width'#3#152#0#5'Align'#7#6'alNone'#7'Anchors'#11#6'akLeft'#8'akBottom'
+#0#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6#17'Make Bold and Red'#5'Color'#7#9
+'clBtnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8
+'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiMode'#9#11'ModalResult'#2
+#0#7'OnClick'#7#12'Button1Click'#10'ParentFont'#9#14'ParentShowHint'#9#8'Tab'
+'Order'#2#1#7'TabStop'#9#7'Visible'#9#0#0#7'TButton'#7'Button2'#4'Left'#3#184
+#0#6'Height'#2#25#3'Top'#3'$'#2#5'Width'#3#136#0#5'Align'#7#6'alNone'#7'Anch'
+'ors'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6#11'G'
+'et Attribs'#5'Color'#7#9'clBtnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3'M'#1#6'Height'#3'T'#2#3'Top'#2#22#5'Width'
+#3#239#2#5'Align'#7#6'alNone'#14'AllowDropFiles'#8#10'AutoScroll'#9#8'AutoSi'
+'ze'#8#11'BorderIcons'#11#12'biSystemMenu'#10'biMinimize'#10'biMaximize'#0#11
+'BorderStyle'#7#10'bsSizeable'#11'BorderWidth'#2#0#7'Caption'#6#5'Form1'#12
+'ClientHeight'#3'T'#2#11'ClientWidth'#3#239#2#14'DefaultMonitor'#7#12'dmActi'
+'veForm'#8'DockSite'#8#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'E'
+'nabled'#9#9'FormStyle'#7#8'fsNormal'#8'OnCreate'#7#10'FormCreate'#14'Parent'
+'BiDiMode'#9#10'ParentFont'#8#8'Position'#7#10'poDesigned'#13'ShowInTaskBar'
+#7#9'stDefault'#14'UseDockManager'#8#10'LCLVersion'#6#6'0.9.27'#11'WindowSta'
+'te'#7#8'wsNormal'#0#9'TRichMemo'#9'RichMemo1'#4'Left'#2'('#6'Height'#3#176#1
+#3'Top'#2' '#5'Width'#3#192#2#5'Align'#7#6'alNone'#9'Alignment'#7#13'taLeftJ'
+'ustify'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#11'Border'
+'Style'#7#8'bsSingle'#5'Color'#7#8'clWindow'#10'DragCursor'#7#6'crDrag'#8'Dr'
+'agKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#13'HideSelection'
+#8#13'Lines.Strings'#1#6#9'RichMemo1'#0#9'MaxLength'#2#0#14'ParentBidiMode'#9
+#11'ParentColor'#8#10'ParentFont'#9#14'ParentShowHint'#9#8'ReadOnly'#8#10'Sc'
+'rollBars'#7#6'ssBoth'#8'TabOrder'#2#0#7'TabStop'#9#7'Visible'#9#11'WantRetu'
+'rns'#9#8'WantTabs'#8#8'WordWrap'#8#0#0#7'TButton'#7'Button1'#4'Left'#2#24#6
+'Height'#2#25#3'Top'#3#216#1#5'Width'#3#160#0#5'Align'#7#6'alNone'#7'Anchors'
+#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6#17'Make B'
+'old and Red'#5'Color'#7#9'clBtnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'
+#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBid'
+'iMode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button2Click'#10'ParentFont'#9
+#14'ParentShowHint'#9#8'TabOrder'#2#2#7'TabStop'#9#7'Visible'#9#0#0#7'TButto'
+'n'#7'Button3'#4'Left'#3'H'#1#6'Height'#2#25#3'Top'#3'$'#2#5'Width'#3#168#0#5
+'iMode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button1Click'#10'ParentFont'#9
+#14'ParentShowHint'#9#8'TabOrder'#2#1#7'TabStop'#9#7'Visible'#9#0#0#7'TButto'
+'n'#7'Button2'#4'Left'#3#192#0#6'Height'#2#25#3'Top'#3#216#1#5'Width'#2'a'#5
+'Align'#7#6'alNone'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#8#6'Ca'
+'ncel'#8#7'Caption'#6#11'Select Font'#5'Color'#7#9'clBtnFace'#7'Default'#8#10
+'ncel'#8#7'Caption'#6#11'Get Attribs'#5'Color'#7#9'clBtnFace'#7'Default'#8#10
+'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7
+'Enabled'#9#14'ParentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button3'
+'Click'#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#3#7'TabStop'#9#7
+'Visible'#9#0#0#7'TButton'#7'Button4'#4'Left'#3#0#2#6'Height'#2#25#3'Top'#3
+'$'#2#5'Width'#2'K'#5'Align'#7#6'alNone'#8'AutoSize'#8#6'Cancel'#8#7'Caption'
+#6#6'Export'#5'Color'#7#9'clBtnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'
+#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBid'
+'iMode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button4Click'#10'ParentFont'#9
+#14'ParentShowHint'#9#8'TabOrder'#2#4#7'TabStop'#9#7'Visible'#9#0#0#5'TMemo'
+#5'Memo1'#4'Left'#3'H'#1#6'Height'#3#250#1#3'Top'#2#24#5'Width'#3#152#1#5'Al'
+'ign'#7#6'alNone'#9'Alignment'#7#13'taLeftJustify'#11'BorderStyle'#7#8'bsSin'
+'gle'#5'Color'#7#8'clWindow'#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDr'
+'ag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#13'Lines.Strings'#1#6#5'Memo1'#0
+#9'MaxLength'#2#0#14'ParentBidiMode'#9#11'ParentColor'#8#10'ParentFont'#9#14
+'ParentShowHint'#9#8'ReadOnly'#8#10'ScrollBars'#7#6'ssBoth'#8'TabOrder'#2#5#7
+'TabStop'#9#7'Visible'#9#11'WantReturns'#9#8'WantTabs'#8#0#0#7'TButton'#7'Bu'
+'tton5'#4'Left'#3'X'#2#6'Height'#2#25#3'Top'#3'#'#2#5'Width'#2'K'#5'Align'#7
+#6'alNone'#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6#6'Import'#5'Color'#7#9'clB'
+'tnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'D'
+'ragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiMode'#9#11'ModalResult'#2#0
+#7'OnClick'#7#12'Button5Click'#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOr'
+'der'#2#6#7'TabStop'#9#7'Visible'#9#0#0#11'TFontDialog'#11'FontDialog1'#11'M'
+'inFontSize'#2#0#11'MaxFontSize'#2#0#4'left'#3'H'#1#3'top'#3'p'#1#0#0#0
+'Enabled'#9#14'ParentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button2'
+'Click'#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#2#7'TabStop'#9#7
+'Visible'#9#0#0#7'TButton'#7'Button3'#4'Left'#3'0'#1#6'Height'#2#25#3'Top'#3
+#216#1#5'Width'#2'`'#5'Align'#7#6'alNone'#7'Anchors'#11#6'akLeft'#8'akBottom'
+#0#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6#11'Select Font'#5'Color'#7#9'clBtn'
+'Face'#7'Default'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'Dra'
+'gMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiMode'#9#11'ModalResult'#2#0#7
+'OnClick'#7#12'Button3Click'#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrde'
+'r'#2#3#7'TabStop'#9#7'Visible'#9#0#0#7'TButton'#7'Button4'#4'Left'#2'p'#6'H'
+'eight'#2#25#3'Top'#3'('#2#5'Width'#2'K'#5'Align'#7#6'alNone'#8'AutoSize'#8#6
+'Cancel'#8#7'Caption'#6#6'Export'#5'Color'#7#9'clBtnFace'#7'Default'#8#10'Dr'
+'agCursor'#7#6'crDrag'#8'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'E'
+'nabled'#9#14'ParentBidiMode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button4C'
+'lick'#10'ParentFont'#9#14'ParentShowHint'#9#8'TabOrder'#2#4#7'TabStop'#9#7
+'Visible'#9#0#0#7'TButton'#7'Button5'#4'Left'#2#24#6'Height'#2#25#3'Top'#3'('
+#2#5'Width'#2'K'#5'Align'#7#6'alNone'#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6
+#6'Import'#5'Color'#7#9'clBtnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'#8
+'DragKind'#7#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiM'
+'ode'#9#11'ModalResult'#2#0#7'OnClick'#7#12'Button5Click'#10'ParentFont'#9#14
+'ParentShowHint'#9#8'TabOrder'#2#5#7'TabStop'#9#7'Visible'#9#0#0#7'TButton'#7
+'Button6'#4'Left'#2#24#6'Height'#2#25#3'Top'#3#248#1#5'Width'#3#160#0#5'Alig'
+'n'#7#6'alNone'#8'AutoSize'#8#6'Cancel'#8#7'Caption'#6#16'Next Style Range'#5
+'Color'#7#9'clBtnFace'#7'Default'#8#10'DragCursor'#7#6'crDrag'#8'DragKind'#7
+#6'dkDrag'#8'DragMode'#7#8'dmManual'#7'Enabled'#9#14'ParentBidiMode'#9#11'Mo'
+'dalResult'#2#0#7'OnClick'#7#12'Button6Click'#10'ParentFont'#9#14'ParentShow'
+'Hint'#9#8'TabOrder'#2#6#7'TabStop'#9#7'Visible'#9#0#0#11'TFontDialog'#11'Fo'
+'ntDialog1'#11'MinFontSize'#2#0#11'MaxFontSize'#2#0#4'left'#3#184#2#3'top'#3
+#216#1#0#0#11'TSaveDialog'#11'SaveDialog1'#10'DefaultExt'#6#4'.rtf'#6'Filter'
+#6#27'RichText file (*.rtf)|*.rtf'#7'Options'#11#17'ofOverwritePrompt'#14'of'
+'EnableSizing'#12'ofViewDetail'#0#4'left'#3'h'#2#3'top'#3#216#1#0#0#11'TOpen'
+'Dialog'#11'OpenDialog1'#10'DefaultExt'#6#4'.rtf'#6'Filter'#6#27'RichText fi'
+'le (*.rtf)|*.rtf'#4'left'#3#24#2#3'top'#3#216#1#0#0#0
]);

View File

@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls,
StdCtrls, ExtCtrls, ComCtrls,
RichMemoTypes, RichMemo;
type
@ -19,14 +19,18 @@ type
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
FontDialog1: TFontDialog;
Memo1: TMemo;
OpenDialog1: TOpenDialog;
RichMemo1: TRichMemo;
SaveDialog1: TSaveDialog;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
@ -71,32 +75,52 @@ end;
procedure TForm1.Button4Click(Sender: TObject);
var
m : TMemoryStream;
fs : TFileStream;
begin
m := TMemoryStream.Create;
try
RichMemo1.SaveRichText(m);
m.Position:=0;
Memo1.Lines.LoadFromStream(m);
except
m.Free;
if OpenDialog1.Execute then begin
fs := nil;
try
fs := TFileStream.Create(OpenDialog1.FileName, fmCreate);
RichMemo1.SaveRichText(fs);
except
end;
fs.Free;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
m : TMemoryStream;
fs : TFileStream;
begin
m := TMemoryStream.Create;
try
Memo1.Lines.SaveToStream(m);
m.Position := 0;
RichMemo1.LoadRichText(m);
finally
m.free;
if OpenDialog1.Execute then begin
fs := nil;
try
fs := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyNone);
RichMemo1.LoadRichText(fs);
except
end;
fs.Free;
end;
end;
procedure TForm1.Button6Click(Sender: TObject);
var
ofs, len : Integer;
begin
RichMemo1.GetStyleRange( RichMemo1.SelStart, ofs, len );
if (ofs = RichMEmo1.SelStart) and (len = RichMemo1.SelLength) then begin
ofs := ofs + len + 1;
RichMemo1.GetStyleRange( ofs, ofs, len );
end;
RichMemo1.SelStart := ofs;
RichMemo1.SelLength := len;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
end;
initialization
{$I unit1.lrs}