In unserem heutigen Tipp möchten wir Ihnen eine "AutoIndent"-Funktion für die Standard-TextBox bzw. für das RichTextBox-Control vorstellen - so wie man es bspw. von der VB-IDE her kennt und gewohnt ist. Die autoIndent-Funktion fügt hierbei an der aktuellen Position exakt so viele Leerzeichen in den Text ein, wie die vorherige Zeile führende Leerzeichen hat. Dies kann man verwenden um z.B. beim Drücken der ENTER-Taste den Text automatisch einzurücken. Die benötigenten Funktionen: ' Rückt den Text ein Public Sub autoIndent(oTextBox As Object) Dim nSpaces As Long With oTextBox ' Anzahl Leerzeichen der vorigen Zeile nSpaces = getLastSpaces(.Text, .SelStart) ' Zeilenumbruch und Anzahl ermittelter Leerzeichen einfügen .SelText = vbNewLine & Space$(nSpaces) End With End Sub ' Gibt die Anzahl der führenden Leerzeichen der ' vorigen Zeile im RichTextBox-Control aus Private Function getLastSpaces(ByVal sText As String, _ nCurPos As Long) As Long ' Fehlerbehanldung aktivieren (sicher ist sicher) On Error Resume Next Dim nPos As Long Dim nSpaces As Long nPos = InStrRev(Left$(sText, nCurPos), vbNewLine) If nPos > 0 Then nPos = nPos + 2 While Mid$(sText, nPos, 1) = " " nSpaces = nSpaces + 1 nPos = nPos + 1 Wend End If getLastSpaces = nSpaces End Function Die Funktion "autoIndent" erwartet als Parameter ein TextBox-Control. Hierbei kann es sich sowohl um eine Standard TextBox, als auch um ein RichTextBox-Control handelt. Ein kleines Beispiel: Private Sub RichTextBox1_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then ' Beim Drücken von Return, neuen Absatz autom. einrücken KeyAscii = 0 autoIndent RichTextBox1 End If End Sub Dieser Tipp wurde bereits 16.989 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. |
||||||||||||||||
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. |