Jag vill på ett enkelt sätt kunna avgöra exakt vilken rad jag är på. Detta eftersom jag vill göra ett system som sätter in s.k. "hard linebreaks" istället för vanliga wordwraps som det blir med multiline textboxar. Det finns antagligen bättre sätt, men ett sätt är att leta igenom texten efter vbCrLf. Den fungerar inte... Vet inte varför... Hej Om jag använder textboxens inbyggda wordwrap så blir det ju inte riktiga radbrytningar. Om jag exempelvis klistrar in texten någon annanstans så kommer ju inte radbrytningarna vara kvar. Och det är det jag vill åt. Går det på något sätt att ersätta mjuka wordwraps (som standarden är) med hårda (vbCrLf)??? Ok. Detta funkar: Lite tips här kanske: Tack Erik!! Du gav mig den länk som löste mina problem!!! Jag laddade hem en class-modul som innehåll en massa extrafunktioner för en textbox. Min kod för att ersätta mjuka wordwraps till hårda blev så här:Textbox med rad-property???
Jag vill liksom kunna känna av att: Nu har du skrivit 72 tecken på denna rad, och så hoppar den till nästa. Även kunna kolla en hel text så att den inte har bredare rader än 72 tecken (exempelvis).
Snälla, kan någon hjälpa mig?!Sv: Textbox med rad-property???
Typ:
<code>
Dim iPos As Integer, iEnter As Integer, iChars As Integer
For iPos = 1 To Len(txtText)
If Instr(iPos) = vbCrLf Then iEnter = iEnter + 1: iChars=0
iChars = iChars + 1
'Gör vad du vill
Next
</code>
Prova koden. Har inte testat själv.
/Niklas JanssonSv: Textbox med rad-property???
Finns det ingen OCX-controll som är en textbox med rad-property?Sv: Textbox med rad-property???
Spånar lite , Kan du inte använda multiline och göra
Textboxen med den width som 72 tecken och den aktuella
fonten förbrukar ?
Spån
SvenSv: Textbox med rad-property???
Sv: Textbox med rad-property???
<code>
Dim iPos As Integer, iEnter As Integer, iChars As Integer
For iPos = 1 To Len(txtText)
If Mid(txtText, iPos, 2) = vbCrLf Then iEnter = iEnter + 1: iChars = 0
iChars = iChars + 1
If iChars = 72 Then txtText = Left(txtText, iPos) + vbCrLf + Right(txtText, Len(txtText) - iPos)
'Här kan du göra annat om du vill det.
Next
</code>
/Niklas JanssonSv: Textbox med rad-property???
http://www.vb-world.net/articles/textboxex/index.htmlSv: Textbox med rad-property???
<code>
Public Sub TrimText(txtInbox As textbox)
Dim lLine As Long, lPos As Long, lLineCount As Long, lCounter As Long
Set txtBox = New CTextBoxEx
Set txtBox.textbox = txtInbox
lCounter = 1
Do
lLine = txtBox.GetCharFromLine(CLng(lCounter) - 1)
lPos = lLine + txtBox.LineLen(lLine)
txtInbox.SelStart = lPos
txtInbox.SelLength = 2
If txtInbox.SelText <> vbCrLf And Trim(txtBox.GetLine(txtBox.GetLineFromChar(lPos))) <> "" Then
With txtInbox
.SelStart = lPos
.SelLength = 0
.SelText = vbNewLine
End With
End If
lCounter = lCounter + 1
If lCounter >= txtBox.LineCount Then Exit Do
Loop
Clipboard.SetText (txtInbox.Text)
txtInbox.Text = ""
txtInbox.Text = Clipboard.GetText
End Sub
</code>