Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.vbclassic > #7584

Tabs in der Rich Textbox

From Klaus Ketelaer <usenet@ketelaer.de>
Newsgroups de.comp.lang.vbclassic
Subject Tabs in der Rich Textbox
Date 2023-09-14 15:09 +0200
Message-ID <udv0m6$4vgk$1@solani.org> (permalink)

Show all headers | View raw


Hallo zusammen,

ich hätte 2 Fragen zur Ritch Textbox.

Wenn ich in der Rich Textbox keine Tabulatoren eingerichtet habe,
dann habe ich eine Standard-Tabulatorgröße von 6 Zeichen. Wie kann
ich diesen Wert abfragen und ggf. ändern, ohne neue Tabulatoren
einzurichten?

Gibt es eine Möglichkeit die korrekte Spaltenposition in einer Zeile
zu berechnen, ohne sich einen abzubrechen?

Berechnungen wie EM_GETSEL - EM_LINEINDEX liefern nur Quark weil
Tabulatoren nur als 1 Zeichen gewertet werden.

Ich habe jetzt die folgende Funktion programmiert, die einwandfrei
funktioniert; Aber das kann's ja wohl nicht sein, dass man so einen
Aufwand betreiben muss, der auch alles andere als performant ist.

Public Function CurrentCol() As Long
   Dim lSel            As Long
   Dim lRow            As Long
   Dim lCol            As Long

   Dim lPos            As Long
   Dim i               As Long

   Call SendMessage(m_RTF.hwnd, EM_GETSEL, 0&, lSel)
   lRow = SendMessage(m_RTF.hwnd, EM_LINEFROMCHAR, lSel, ByVal 0&) + 1
   lCol = SendMessage(m_RTF.hwnd, EM_LINEINDEX, lRow - 1, 0&) + 1

   lPos = 0
   For i = lCol To lSel
     If Mid$(m_RTF.Text, i, 1) = vbTab Then
       lPos = lPos + 1
       Do Until (lPos Mod 6) = 0
         lPos = lPos + 1
       Loop
     Else
       lPos = lPos + 1
     End If
   Next i

   CurrentCol = lPos + 1

   ' CurrentCol = m_RTF.SelStart - SendMessage(m_RTF.hwnd, EM_LINEINDEX, 
CurrentRow() - 1, 0&) + 1
End Function

Gruß Klaus

Back to de.comp.lang.vbclassic | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Tabs in der Rich Textbox Klaus Ketelaer <usenet@ketelaer.de> - 2023-09-14 15:09 +0200
  Re: Tabs in der Rich Textbox "Wendelin Uez" <wuez@online.de> - 2023-09-15 17:21 +0200
    Re: Tabs in der Rich Textbox Klaus Ketelaer <usenet@ketelaer.de> - 2023-09-16 02:09 +0200
    Re: Tabs in der Rich Textbox Klaus Ketelaer <usenet@ketelaer.de> - 2023-09-16 17:04 +0200

csiph-web