vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Text in RichTextBox formatieren: Bullet und Tabs 
Autor: Manfred X
Datum: 22.07.16 07:31

1. Die Richtextbox hat die Standardtabs geerbt (TextboxBase).
2. Würde ich meinen.
3. Das hängt davon ab, ob die RTB Tabs akzeptiert (Eigenschaft).
In dem Fall wird der Tabulator als \Tab-Format notiert (ohne auf
eine explizite Längenangabe zurückzugreifen).
4. Tabschrittweiten können z.B. auch über "Sendmessage" (EM_SETTABSTOPS)
eingerichtet werden. Solche Tabschrittweiten werden als \txLänge notiert.
5.1. Die "Selectiontabs"-Eigenschaft setzt/liefert ein Array von Tabweiten,
falls (für den Abschnitt) \txLänge-Angaben vorliegen.
Schrittweiten-Änderungen sind immer im Array vorzunehmen,
nicht in der RTF-Eigenschaft selbst.
RTF unterstützt Tab-Ausrichtungen, das Control bietet im Dialog diese
Einstellungen meines Wissens nicht.
5.3./6.3 ???
Wie bei RTF allgemein üblich, werden auch die Codes zu Tablängen
innerhalb von Format-Klammern hierarchisch verwaltet.
Ein Textabschnitt wird immer gemäß dem nächstliegenden Code dargestellt.

Beitrag wurde zuletzt am 22.07.16 um 07:32:45 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Text in RichTextBox formatieren: Bullet und Tabs 
Autor: spatzimatzi
Datum: 21.07.16 16:39

Hallo,
habe RichTextBox-Objekte, bei den der Text formatiert werden soll.
In Teilbereichen ist mir dies bei Bullets und den Tabs gelungen.

Bullet
Das Setzen der Bullet ist mir gelungen. Trotzdem bleiben einige Fragen, die ich gerne beantwortet hätte:
Als Standard gibt das System einen kleinen schwarzen Punkt aus!

1. Gibt es auch andere Formen, die man ansprechen kann
2. Wenn ja, wie werden diese angesprochen

Tabs
Bei den Tabs habe ich anscheinend die Funktionsweise noch nicht richtig verstanden.
Deshalb möchte ich kurz erläutern, was ich getestet habe.

Im Array RichTextBox.SelectionTabs werden die einzelnen Tabs als Pointwerte (Integer) abgelegt

Ist das Array leer, kann man trotzdem Tabs nach einem hinterlegten Muster anspringen.
1. Warum hat die RichTextBox ein solches Tabs-Muster?
2. Woher stammen diese Angaben? Ist dies automatisch Standard?
3. Werden diese Angabe immer verwendet, wenn das Array leer ist?

4. Kann man eigene Standard-Tabs setzen? Nach dem Motto: Setzen Tabs alle 50 Punkte

Ist RichTextBox.SelectionTabs leer, dann kann man unter anderem wie folgt die Tabs setzen

RichTextBox.SelectAll()
RichTextBox.SelectionsTabs = New Integer() {100, 200, 300}
Dies habe ich ausprobiert. Es funktioniert.
Nach den vorgegebenen Tabs folgen dann die Standard-Tabs

Danach wollte ich den 2. Tab ändern

RichTextBox.SelectAll()
RichTextBox.SelectionsTabs(1) = 220
Dies hat leider nicht geklappt

Meine Frage dazu:
1. Müssen für eine Änderung immer alle gesetzten Tabs gelöscht und komplett neu angelegt werden
2. Was mache ich falsch?

In Textverarbeitungssystemen werden unterschiedliche Tabs vergeben wie:
- Linksbündig
- Rechtsbündig
- Mittig
- Dezimalzahlen

1. Kann man in der RichTextBox auch entsprechede Tabs setzen?
2. Wenn ja, wie werden diese gesetzt?
3. Gelten die Tabs in einer RTB immer für den kompletten Text oder auch Abschnittsweise

Würde mich freuen, wenn man mir Informationen zukommen lassen könnte.
Habe auch schon im Internet gesucht, aber auf meine Fragen keine Antworten gefunden.

Viele Grüße
spatzimatzi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text in RichTextBox formatieren: Bullet und Tabs 
Autor: Manfred X
Datum: 21.07.16 21:35

Hallo!

Lade Dir die aktuellen Rich-Text-Format-Specs herunter
(bei Microsoft oder sonstwo).
Das RichText-Control unterstützt allerdings nur eine
begrenzte Auswahl dieser Möglichkeiten.
Was nicht in der MSDN steht, kannst Du selbst durch
Probieren herausfinden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text in RichTextBox formatieren: Bullet und Tabs 
Autor: spatzimatzi
Datum: 23.07.16 11:12

Hallo Manfred X,
habe im Internet versucht, zusätzliche Information zum Formatieren von Texten in einer RichTextBox zu erhalten.
Dabei ist mir aufgefallen, dass zwar Spezifikationen angeboten werden, aber zu verwertende Beispiele sehr rar sind.
Literatur in Form von Sachbüchern/wissenschaftlichen Abhandlungen scheint es überhaupt nicht zu geben.
Jetzt bleibt mir scheinbar nur noch, selber Hand anzulegen und zu testen.

Bevor ich jedoch testen kann, habe ich noch einige Fragen:

1.
Warum wird das Thema "RichTextBoxen und Formatierung" so stiefmütterlich behandelt. Keine Literatur
2.
Gibt es auf dem freien Markt entsprechende extended Controls, die ein einfaches Formatieren ermöglichen?
3.
Um bestimmte Formatierungen zu erhalten, müssen entsprechende Markup's gesetzt werden.
Nehmen wir folgendes Beispiel: Eine Nummerierung mit Kleinbuchstaben
\pnlcltr --- Lowercase alphabetic numbering (a, b, c).
Wenn ich es jetzt richtig verstanden habe, dann muss an der Stelle, an der die Nummerierung beginnen soll, die Kennung /pnlcltr eingefügt werden. Und nach der letzten Nummerierung muss das Ende eingestellt werden.
Frage: Wie wird dies praktisch gehandhabt. Kann mir jemand eine Erklärung bieten. Am besten an Hand eines Beispieles

Eine Bitte
Da ich gerne Tabs setzen und verändern würde und nicht verstanden habe was Du meinst, muss ich auf Deine Aussagen nochmals zurückkommen.
Du schreibst unter 5.1, dass die Schrittweitenänderung immer im Array selbst vorzunehmen sind und nicht in den Eigenschaften des RTF.
Könntest Du mir dies an einem Beispiel erläutern.

Über Informationen würde ich mich riesig freuen
spatzimatzi
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text in RichTextBox formatieren: Bullet und Tabs 
Autor: Manfred X
Datum: 23.07.16 13:37

Die Windows.Forms.Richtextbox ist eine Erweiterung der
einfachen Textbox und bietet einige RTF-Möglichkeiten
zur Gestaltung von Textabschnitten (Font, Farbe, Einzug, ...).
Dieses Control ist aber kein Textverarbeitungssystem.
Für die Nutzung der begrenzten Möglichkeiten gibt es
massenhaft Beispiele im Internet !!
Für alles weitere gibt es z.b. MS-WORD.

Dein TabStop-Problem kann ich nicht nachvollziehen.

Prinzipiell selektiert man einen Textabschnitt
(Selectionstart, Selectionlength) und weist die
gewünschte Formatierung zu (Selectionfont, ...color, ...tabs, ...).
Das Control setzt für diesen Abschnitt Code-Klammern und
fügt die entsprechenden RTF-Codes ein.

Hier ein Beispiel für das Neusetzen von Tab-Weiten
in einem Abschnitt.
With RichTextBox1
   .AcceptsTab = True
 
   'Einen Text mit Tabulatoren zuweisen 
   .Rtf = _
      "{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0" & _
      "Microsoft Sans Serif;}}" & _
      " \viewkind4\uc1\pard\f0\fs17 " & _
      "Breakfast\tab Lunch\tab Dinner\par " & vbNewLine & _
      "Coffee\tab Soda\tab Wine\par " & vbNewLine & _
      "Sandwich\tab Salat\tab Burger\par}"
 
      'Ganzen Text auswählen
      .SelectAll()
      'Tabulatorweite eintragen
      .SelectionTabs = New Integer() {80, 160, 240}
 
      'Zweite Zeile markieren (nullbasierter Index) 
      .SelectionStart = .GetFirstCharIndexFromLine(1)
      .SelectionLength = .GetFirstCharIndexFromLine(2) - .SelectionStart
 
      'Für diese Zeile neue Tabweite setzen 
      .SelectionTabs = New Integer() {160, 240, 320}
 
End With
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel