Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: VB: Multiline textboxia

Toitsu [14.11.2006 14:43:09]

#

Voiko multiline textboxin merkkimäärän/rivi rajata jotenkin?

hunajavohveli [14.11.2006 15:06:58]

#

Minun tietääkseni ei, mutta voit itse kehittää tarkistussysteemin, joka rajoittaa määrää, jos se ylitetään. Merkit saat laskettua Len-funktiolla ja rivinvaihdot etsimällä textboxista silmukalla kaikki Chr$(10) + Chr$(13) -merkkiyhdistelmät.

neau33 [10.12.2006 17:11:13]

#

Moikka Toitsu!

Voi, määrittämällä textboxin MaxLenght arvon nollaa suuremmaksi esim: Text1.MaxLenght = 200. Ohjelmaa ajettaessa textboxi ei reagoi Enter-napin painallukseen, mutta rivinvaihto onnistuu lisäämällä textboxin KeyUp tapahtumaan seuraavan koodinpätkän...

If KeyCode = 13 Then Text1.Text = Text1.Text & vbCrLf

...yksi rivinvaihto vie yhden merkin tilan tekstin enimmäispituudesta...voit "eliminoida" rivinvaihdon viemän tilan tekstin kokonaispituudesta lisäämällä projektiin moduulin...

'moduuliin
 Global rvaihto As Integer

...sekä textboxin change tapahtumaan seuraavan koodinpätkän...

 rvaihto = 0
If Text1.Text <> "" Then
For j% = 1 To Len(Text1.Text)
  If Mid$(Text1.Text, j%, 1) = Chr$(13) Then rvaihto = rvaihto + 1
Next j%
End If
 Text1.MaxLength = (200 + rvaihto)

...ja muuntamalla textboxin KeyUp tapahtuman koodin muotoon...

If KeyCode = 13 And Len(Text1.Text) + rvaihto < 200 Then
  Text1.Text = Text1.Text & vbCrLf
 End If

sooda [10.12.2006 17:33:20]

#

neau33 kirjoitti:

yksi rivinvaihto vie yhden merkin tilan tekstin enimmäispituudesta

Kahdenpas. Cr ja Lf.

neau33 [10.12.2006 17:57:23]

#

sooda olet täysin oikeassa, mutta kokeile koodia niin huomaat mitä tarkoitin...

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta