trichview.support
Re: problems in DBRichViewEdit and the first line |
Author |
Message |
Sergey Tkachenko |
Posted: 12/03/2002 23:53:32 Some methods (introduced in TCustomRichView, such as LoadRTF, AddNL) add items to the end of the document. Some methods (introduced in TCustomRichView, such as InsertRTFFromFileEd, InsertText) insert items at the position of caret (beginning of the document, if called after Format). There are 2 special methods: InsertRVF and InsertRVFFromStream - they insert items in the given place. Despite their names, LoadRTF and LoadText do not clear document - they append loaded file to the end of the document, thus allowing to create document consisting of several files:. with EMailForm.rve do begin Clear; LoadRTF('C:\Header.rtf'); AddNL('',0,0); AddNL('',0,0); AddNL(DM.OfferFaxQuery.FieldByName('Title').AsString,0,1); AddNL('',0,0); AddNL('',0,0); LoadRTF('C:\Footer.rtf'); Format; end; Use AddTextNL to add text containing several lines. It's better to use memory streams instead of files: var stream: TMemoryStream; EMailForm.rve.Clear; Stream := TMemoryStream.Create; SettingsForm.Headerrve.SaveRVFToStream(Stream, False); Stream.Position := 0; EMailForm.rve.InsertRVFFromStream(Stream, EMailForm.rve.ItemCount); Stream.Free; EMailForm.rve.AddNL('',0,0); EMailForm.rve.AddNL('',0,0); EMailForm.rve.AddNL(DM.OfferFaxQuery.FieldByName('Title').AsString,0,1); EMailForm.rve.AddNL('',0,0); EMailForm.rve.AddNL('',0,0); Stream := TMemoryStream.Create; SettingsForm.Footerrve.SaveRVFToStream(Stream, False); Stream.Position := 0; EMailForm.rve.InsertRVFFromStream(Stream, EMailForm.rve.ItemCount); Stream.Free; EMailForm.rve.Format; > Well, I'm having trouble with that method too... What I really want to do is > load a standard "Header" that is stored in a database, then insert some > lines of text, maybe a table, and then a footer, also stored in a database > field... When I use LoadRTF, and then do an Insert Text, the text is > inserted before the header...??? instead of after like I would think... > Here's my code again > > SettingsForm.Headerrve.SaveRTF('C:\Header.rtf',False); > SettingsForm.Footerrve.SaveRTF('C:\Footer.rtf',False); > > EMailForm.rve.Clear; > EMailForm.rve.InsertTextFromFileED('C:\Header.rtf'); > EMailForm.rve.Format; > > EMailForm.rve.AddNL('',0,0); > EMailForm.rve.AddNL('',0,0); > EMailForm.rve.AddNL(DM.OfferFaxQuery.FieldByName('Title').AsString,0,1); > EMailForm.rve.Format; > > > Can you point me in the right direction? thanks! > > Jamie > > |
Powered by ABC Amber Outlook Express Converter