Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gruenkohl am 11.12.02 - 16:32:25

Titel: RichTextFelder und RichtextStyle
Beitrag von: Gruenkohl am 11.12.02 - 16:32:25
Nabend,

ich muss noch mal nachfragen, da ich immmer noch Probleme mit dem formatieren der Richtextfelder habe. Ich habe es mit RichtextStyle versucht aber es ändert sich nix.

Kann mit jemand sagen, was an dem Quellcode falsch ist?

Dim w As New NotesUiWorkspace
   Dim s As New NotesSession
   Dim DB As NotesDatabase
   Dim doc As NotesDocument
   Dim View As NotesView
   
   Dim rtitem1 As Variant
   Dim rtitem2 As Variant
   Dim rtitem3 As Variant
   Dim rtitem4 As Variant
   Dim rtitem5 As Variant
   Dim rtitem6 As Variant
   Dim rtitem7 As Variant
   
   Set db = s.CurrentDatabase
   Set View = db.GetView("bla")
   
   Set doc = View.GetFirstDocument
   
   Dim richStyle As NotesRichTextStyle
   Set richStyle = s.CreateRichTextStyle
   
   Set rtitem1 = doc.GetFirstItem( "Text1" )
   Set rtitem2 = doc.GetFirstItem( "Text2" )
   Set rtitem3 = doc.GetFirstItem( "Text3" )
   Set rtitem4 = doc.GetFirstItem( "Text4" )
   Set rtitem5 = doc.GetFirstItem( "Text5" )
   Set rtitem6 = doc.GetFirstItem( "Text6" )
   Set rtitem7 = doc.GetFirstItem( "Text7" )
   
   Set rtitemBody = New NotesRichTextItem(doc, "Body" )
   Call rtitemBody.AddNewLine(1)
   Call rtitemBody.AppendRTItem( rtitem1 )
   Call rtitemBody.AddNewLine(1)
   
   richStyle.NotesFont = FONT_COURIER
   richStyle.FontSize = 14
   
   Call rtitemBody.AppendRTItem( rtitem2 )
   Call rtitemBody.AddNewLine(1)
   
   richStyle.Bold = True
   Call rtitemBody.AppendStyle(richStyle)
   
   Call rtitemBody.AppendRTItem( rtitem3 )
   Call rtitemBody.AddNewLine(1)
   
   richStyle.Bold = False
   richStyle.Italic = True
   Call rtitemBody.AppendStyle(richStyle)
   
   Call rtitemBody.AppendRTItem( rtitem4 )
   Call rtitemBody.AddNewLine(1)
   
   richStyle.Italic = False
   richStyle.Underline = True
   Call rtitemBody.AppendStyle(richStyle)
   
   Call rtitemBody.AppendRTItem( rtitem5 )
   Call rtitemBody.AddNewLine(1)
   
   richStyle.Underline = False
   Call rtitemBody.AppendStyle(richStyle)
   
   Call rtitemBody.AppendRTItem( rtitem6 )
   Call rtitemBody.AddNewLine(2)
   Call rtitemBody.AppendRTItem( rtitem7 )
   Call rtitemBody.AddNewLine(1)
   
   doc.ComputeWithForm False, False
   doc.save True, True

Wäre es möglich, dass ich aus den RT Feldern erst den Text rausziehen muss und diesen dann formatiere. D.h. nicht das ganze Feld nehme.

Verzweifel langsam daran.
Bin für jede Hilfe dankbar.

Danke und Gruss

Andreas

PS: Schönen Feierabend
Titel: Re:RichTextFelder und RichtextStyle
Beitrag von: ata am 11.12.02 - 16:39:42
... ich denke genau daran liegt es...

... schreib mal was manuell mit in das Dokument, dann müsstest du dein Vermutung bestätigt sehen...

ata
Titel: Re:RichTextFelder und RichtextStyle
Beitrag von: wflamme am 11.12.02 - 17:06:10
Deine u. atas Vermutung stimmt. Wenn Du in Deinem Fall AppendText verwenden kannst, machs so. Falls Du mit AppendrItem arbeiten mußt, wird's echt knifflig.
Titel: Re:RichTextFelder und RichtextStyle
Beitrag von: Gruenkohl am 12.12.02 - 10:18:33
Was heisst denn knifflig?
Also ich muss mit den RTItems arbeiten, da auch Bilder oder sonstiges enthalten sein könnte!
Titel: Re:RichTextFelder und RichtextStyle
Beitrag von: ata am 12.12.02 - 12:38:34
... ob das so geht wie du dir das wünschst...

... die Styles reagiern auf AppendText - der Text der angefügt wird nimmt den Style an, nicht aber der Inhalt des Items...

... mit @Abstract kannst du zwar den Text rausziehen, aber keine Grafiken... ich denke spätestens jetzt mußt du dich kräftig verbiegen... kurz vor Weihnachten ist das nicht schön... ???

ata
Titel: Re:RichTextFelder und RichtextStyle
Beitrag von: savage am 18.12.02 - 10:34:53
Anstelle den Inhalt via script zu formatieren könntest Du doch auch den User dies überlassen. Oder soll der keinen Einfluss auf die Formatierung haben? Quasi sowas wie di YABBC Tags hier nur als WYSIWYG Editor (Bilder, Tabellen, Links etc.) im Client oder Web. Quasi so eine Art MS Word.