TX Text Control: Alternatives Rendering von RTF-Texten in List & Label

Gilt ab List & Label 21
Das in List & Label fest integrierte RTF-Objekt basiert auf dem jeweils im Windows System installierten RTF-Control von Microsoft, welches auch z.B. von Microsoft WordPad verwendet wird. Dabei können mehrere unterschiedliche Versionen des Controls auf dem gleichen Windows System installiert sein. List & Label erlaubt es, mit Hilfe der Option LL_OPTION_MAXRTFVERSION (oder der Eigenschaft .MaxRTFVersion der Komponente) die zu verwendende Version des RTF-Controls zu forcieren. Die unterschiedlichen RTF-Versionen verhalten sich allerdings unterschiedlich, was auch Auswirkungen auf etwaige List & Label Reports haben kann. Zudem ist auch das Feature-Set des Microsoft RTF-Controls insbesondere im Bereich der Tabellendarstellung stark eingeschränkt.

Als Alternative ist es in List & Label möglich, das RTF-Control TX Text Control .NET for Windows Forms der Firma Text Control GmbH als eigenständiges Designer-Objekt zu verwenden, wenn Sie über eine Lizenz des Controls verfügen. Damit ist es in der eigenen Anwendung möglich direkt RTF-Texte, die mit Hilfe des TX Text Controls gerendert werden, in List & Label Reports zu verwenden. Die List & Label-Installation enthält ein .NET Beispiel für die Verwendung des Controls. Das Beispiel finden Sie in der List & Label Installation im Unterverzeichnis "…\Beispiele\Microsoft .NET\C# TX Text Control Sample". Wichtige Informationen zum Beispiel finden sich in der Datei readme.txt des Beispiels.

Voraussetzungen und Benutzung

  • Das Programmierbeispiel verwendet C# / Visual Studio
  • Installiertes TX Text Control .NET for Windows Forms - mind. in der Version 22.0 Professional/Enterprise
  • Installiertes List & Label - mind. in der Version 21 inkl. Service Pack 21.002

Allemeine Hinweise

  • Das List & Label Designer-Objekt ‘TXDesignerControl’ kann bis Version 23 nur in .NET verwendet werden - nicht aber in unmanaged Umgebungen wie bspw. C++. Ab Version 23 nutzen Sie das Objekt auch in anderen Programmiersprachen über die DesignerObjectBridge.
  • Etwaige Header und Footer im RTF-Text eines TX Text Control werden nicht unterstützt bzw. ignoriert.
  • Bei Verwendung von RTF-Tabellen wird im Standard-Fall versucht das Layout 1:1 darzustellen. Wenn allerdings das Objekt kleiner/schmaler als die ursprüngliche Tabelle bzw. das RTF-Dokument ist, können Clipping-Effekte auftreten. Hierfür gibt es die Eigenschaft ‘RecalcTableLayout’ des Designer-Objektes, um zu forcieren, dass die Tabelle im RTF-Dokument versucht wird auf den kleineren Platz anzugleichen. Ist diese Option aktiv, hat das jedoch Auswirkungen auf die Performance, da das Neuberechnen des gegebenen Layouts rechenintensiv ist und kann das Layout der Tabelle modifizieren.
  • Im mitgelieferten Beispiel-Dokument ‘Great-Team.rtf’ werden auch List & Label Formeln/Felder verwendet und entsprechend unterstützt. Während des Drucks werden diese evaluiert, was kleine Auswirkungen auf die Performance haben kann. Das Beispiel-Dokument ‘debwin.rtf’ verwendet keine List & Label Formeln/Felder.

Das Beispiel wird im Rahmen der Installation “as is” zur Verfügung gestellt und kann jederzeit auf weitere und eigene Bedürfnisse angepasst werden. Sollten Sie etwaige Verbesserungen, Anregungen oder gar Fehler ausmachen, so können Sie uns diese gerne auch zur Verfügung stellen, wir freuen uns über Ihre Ideen.

Links:

https://www.combit.net/blog/entwicklung/08-2017/eigene-net-designer-objekte-in-unmanaged-code-ver/

IDKBAD001308 KBAD001308