kun mulla on textbox ja siinä on multiline ja pystysuuntainen scrollbar niin kun kirjoittaa siihen eka vähän ja sitten kirjoittaa tosi pitkän sanan joka ei mahdu siihen niin se pomppaa seuraavalle riville. Miten tämän saisi estettyä jos en halua käyttää vaakasuoraa scrollbaaria siinä?
Teksti poksin scrollBar arvonksi
0 = ei Scrollareita
1 = vaakasuora scrollari
2 = pystysuunnassa scrollari
3 = kumpiki
itehän just sanoin että
lainaus:
jos en halua käyttää vaakasuoraa scrollbaaria siinä?
_ei_ vaakasuoraa
TextBox taitaa väkisin rivittää. Täytyy vaan leventää Boxia sen verran, että pitkä sana mahtuu yhdelle riville.
teen hexaeditoria ja sen leveys pitää olla 16 merkkiä. Onko sitten joitain erikoistekstilaatikoita millä näin saisi tehtyä?
Ei oikein raksuta. Tuleeko se pitkä sana sen 16 merkin jatkoksi??
pistä 16 merkin rajotus?
tai sit joku kikkailu et aina ku teksti muuttuu nii selstart =0 ja sellength = 0
Vaatii kikkailun, joka tarkistaa tekstin lisäämistä ja aina 16 merkin välein lisää tekstiin rivinvaihdon chr(13).
Luetaanko teksti jostain tiedostosta vai seurataanko käyttäjän tekemisiä, joka sitte rivitetään TextBoxiin?
Seuraava funktio pilkkoo laatikkossa olevan tekstin, kun sitä kutsutaan nappia painamalla. Jos luetaan jostain tiedostosta, niin pilko-kutsu ennen textboxiin kirjoittamista.
Private Sub cmdPilko_Click()
Text1.Text = Pilko(Text1.Text)
End Sub
Function Pilko(strAlku As String) As String
Dim strRivitetty As String
Dim i As Integer, j As Integer, abu As Integer
abu = Len(strAlku)
If abu <= 16 Then
strRivitetty = strAlku
GoTo TheEnd
End If
j = Int(abu / 16)
For i = 0 To j
If Len(strRivitetty) >= 16 Then _
strRivitetty = strRivitetty & Chr(13) & Chr(10)
strRivitetty = strRivitetty & Mid(strAlku, (i * 16) + 1, 16)
Next i
TheEnd:
Pilko = strRivitetty
End FunctionNoin se kannattaa tehdä, tässä on vähän lyhempi Pilko-funktio.
Function Pilko(teksti As String) As String
Dim uusi As String, i As Integer
For i = 1 To Len(teksti) Step 16
uusi = uusi & Mid(teksti, i, 16) & vbCrLf
Next
Pilko = uusi
End FunctionAihe on jo aika vanha, joten et voi enää vastata siihen.