Autor Thema: NotesRichTextStyle  (Gelesen 2111 mal)

Offline hans-peter

  • Frischling
  • *
  • Beiträge: 2
NotesRichTextStyle
« am: 23.02.05 - 18:45:35 »
Hallo,

Brauche den FontSize eines Rich-Text-Feldes, den bekomme ich laut Hilfe mit  "fontSize% = notesRichTextStyle.FontSize"

Wie kann ich aber notesRichTextStyle initialisieren? Soll den Style eines breits bestehenden Rich-Text-Feldes auslesen.


hoffe, ihr könnt mir helfen

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #1 am: 23.02.05 - 19:08:02 »
Hilft das Beispiel aus der Designer Hilfe denn nicht weiter ?

Sub Initialize
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  Dim doc As New NotesDocument(db)
  Call doc.AppendItemValue("From", session.UserName)
  Call doc.AppendItemValue("Subject",  _
  "Meeting time changed")
  Dim richStyle As NotesRichTextStyle
  Set richStyle = session.CreateRichTextStyle
  Dim richText As New NotesRichTextItem(doc, "Body")
  richStyle.FontSize = 12
  Call richText.AppendStyle(richStyle)
  Call richText.AppendText("The meeting is at ")
  richStyle.FontSize = 16
  Call richText.AppendStyle(richStyle)
  Call richText.AppendText("3:00")
  richStyle.FontSize = 12
  Call richText.AppendStyle(richStyle)
  Call richText.AppendText(" not 2:00")
  Call doc.Save(True, False)
End Sub
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline hans-peter

  • Frischling
  • *
  • Beiträge: 2
Re: NotesRichTextStyle
« Antwort #2 am: 23.02.05 - 19:15:46 »
Hallo eknori!

Hatte mir das Beispiel aus der Hilfe schon angeschaut.
Da wird aber, wenn ich das richtig verstehe, ein neues Rich-Text-Item angelegt und diesem ein Fontsize zugewiesen (also set).

Ich habe aber bereits ein Rich-Text-Feld, bei dem ich dann den FontSize auslesen möchte (also get).

Um den RichTextStyle dieses Rich-Text-Feld zu bekommen, muss ich RichTextStyle irgendwie initialisieren, aber wie?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #3 am: 23.02.05 - 19:17:34 »
RichTextStyle properties sollen ausgelesen werden, nicht gesetzt, Ulrich.

Für den Zugriff auf rts lohnt ein Blick in die RichTextSection class.

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #4 am: 23.02.05 - 19:26:51 »
@Both:

Das ist mir schon klar, aber bevor man sich an einen solchen Stunt begibt sollte man schon wissen, die man an das doc oder vom uidoc an das doc kommt, oder ?

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #5 am: 23.02.05 - 19:52:58 »
@Both:

Das ist mir schon klar, aber bevor man sich an einen solchen Stunt begibt sollte man schon wissen, die man an das doc oder vom uidoc an das doc kommt, oder ?

Das habe ich jetzt nicht verstanden. Darum ging es weder in der Frage noch in einer der Antworten, oder habe ich jetzt irgend etwas verpasst ?

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #6 am: 23.02.05 - 19:58:17 »
Das Ganze fängt doch nicht bei der FontSize property an, oder. Zunächst muss man sich doch mal vom Doc dort hinhangeln. Da scheinen doch schon ein paar Basics zu fehlen ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Marinero Atlántico

  • Gast
Re: NotesRichTextStyle
« Antwort #7 am: 23.02.05 - 20:02:53 »
Die Notes API ist durch composition Hierarchien gekennzeichnet.
Über das doc kommst du an das RichTextItem (getFirstItem) --> das steht in Item aber RichTextItem <<extends>> Item (extends heisst so viel wie erbt von)
Wow. Dazwischen gibt es noch einen RichTextNavigator.
NotesRichTextItem.CreateRichTextNavigator.

Hab ich auch noch nie gemacht. Find ich auch nicht so supertrivial.

Apis zum editieren von RichTextDokumenten sind aber eigentlich immer ziemlich komplex.
Wenn du erst mal einen RichTextNavigator hast, wirds zumindest im Hinblick auf die Anzahl der Properties und Methoden überschaubarer.

Axel
 

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #8 am: 23.02.05 - 20:23:27 »
Das Beispiel liefert doch alles !

Dim session As New NotesSession
  Dim db As NotesDatabase
  Set db = session.CurrentDatabase
  Dim doc As NotesDocument

Jetzt muss man doch nur noch das doc setzen !
Set doc = ... ' wo auch immer das dann herkommt ( View, collection or what hav' u )

Und wenn man doc erst einmal hat, dann kann es doch munter weitergehen ...

  Dim richStyle As NotesRichTextStyle
  Set richStyle = session.CreateRichTextStyle
  Dim richText As New NotesRichTextItem(doc, "Body")

Dim i as integer
i = RichTextStyle.FontSize

oder sehe ich das falsch ?

Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Marinero Atlántico

  • Gast
Re: NotesRichTextStyle
« Antwort #9 am: 23.02.05 - 20:31:10 »
... sicher bin ich mir nicht, ob man damit einen bereits existieren RichTextStyle auslesen kann.
Möglicherweise muss man dafür RichTextNavigator nehmen.
Eigentlich sinnvoll. Kannte ich gar nicht.
In einem RichTextItem können ja auch Textelemente drin sein, die verschiedene RichTextStyles gebunden haben. Manche sind bold und schwarz, andere sind rot und kursiv. Ja so ist das Leben auf der Playstation.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #10 am: 23.02.05 - 20:36:49 »
Ich verstehe die Diskussion jetzt überhaupt nicht mehr. Oben steht eine Frage. Ziemlich klar: FontSize soll ausgelesen werden. Das RTI existiert bereits. Da soll nix erstellt, sondern ausgelesen werden.

Jetzt geht es auf einmal um das Instantiieren von Dokumenten und das Erstellen von RTIs und sonstige Nebengeräusche. Wie deutet Ihr denn die Ausgangsfrage ?

Bernhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: NotesRichTextStyle
« Antwort #11 am: 23.02.05 - 20:42:30 »
@Bernhard:

"fontSize% = notesRichTextStyle.FontSize

ist aus der Notes Hilfe; ohne Frage.
Das Beispiel zeigt, wie man den Style setzt.
Der Kollege kann in meinen Augen das Beispiel in der Hilfe nicht so umsetzen, daß er den Style AUSLESEN kann, weil er ( my 2 Cent ) die Basics nicht bedienen kann.
Bevor ich an die property rankomme, muss ich halt den mühsamen Weg von de session über die Db, das doc etc gehen...

nu hab ich aber auch keinen Bock mehr ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline umi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.062
  • Geschlecht: Männlich
  • one notes to rule'em all, one notes to find'em....
    • Belsoft AG
Re: NotesRichTextStyle
« Antwort #12 am: 24.02.05 - 08:34:01 »
Hi

Hoffe folgendes hilft hier mal weiter:

Den Style eines Richtextfeldes kannst Du nicht direkt auslesen, sondern nur der Elemente des Richtextfeldes.
Mit dem NotesRichTextNavigator kommst Du an diese Elemente heran.

Mit der NotesRichTextRange kannst Du Text auswählen des RTFeldes.
Die Textrange enthält dann den Style.

So oder so ähnlich könnte es aussehen...
Code
.....
dim body as notesrichtextitem
dim rtnav as notesrichtextnavigator
dim rtrange as notesrichtextrange
dim rtstyle as notesrichtextstyle
....

set rtnav = body.createNavigator

 If rtnav.FindFirstElement(RTELEM_TYPE_TEXTPARAGRAPH) Then
    Set rtrange = body.CreateRange
    Call rtrange.SetBegin(rtnav)
set rtstyle = rtrange.style
end if
Gruss

Urs

<:~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Jegliche Schreibfehler sind unpeabischigt
http://www.belsoft.ch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~:>

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz