Rubrik: Controls · TextBox & RichTextBox | VB-Versionen: VB4, VB5, VB6 | 24.09.04 |
Autom. Formatierung beim Einfügen in RTF-Control verhindern Hier wird gezeigt, wie sich beim RTF-Control die autom. Formatierung beim Einfügen von Text aus der Zwischenablage unterdrücken lässt. | ||
Autor: Dieter Otter | Bewertung: | Views: 16.211 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Das RichTextBox-Control wird zum einen immer dann gerne verwendet, wenn man formatierten Text darstellen möchte. Zum anderen aber auch dann, wenn man große Textmengen anzeigen möchte, was mit der Standard-TextBox aufgrund der Einschränkung der Textkapazität nicht möglich ist.
Verwendet man das RTF-Control für die Anzeige von großen Textmengen OHNE zusätzliche Formatierungen hat man allerdings ein Problem. Und zwar werden Schrift- und Farbformatierungen autom. in das RTF-Control übernommen, wenn man "formatierten Text" aus der Zwischenablage in das Control einfügt. Um dies zu unterbinden, ist wie folgt vorzugehen:
- Eigenschaft "AutoVerbMenu" auf den Wert FALSE setzen, um das Standard-Kontextmenü zu unterdrücken
- Abfangen der Tastenkombinationen STRG+V und SHIFT+Einfg
Private Sub RichTextBox1_KeyDown(KeyCode As Integer, Shift As Integer) ' Strg+V und Shift+Einfg abfangen If (KeyCode = vbKeyV And Shift = 2) Or (KeyCode = vbKeyInsert And Shift = 1) Then KeyCode = 0 ' Text ohne Formatierungen einfügen If Clipboard.GetFormat(vbCFText) Then RichTextBox1.SelText = Clipboard.GetText(vbCFText) End If End If End Sub