Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: tabit spaceiksi

sooda [05.11.2003 16:24:57]

#

niih. en jaksa tehdä timeriä joka replacettaa tabeja koska tarvii muutakin. Mutta jos mä haluan tehdä niin että: mulla on textbox, haluan että kun siinä painaa tabia, siihe ei tule tabia vaan n välilyöntiä. Nyt siinä on tällainen soodi:

Private Sub t_KeyDown(KeyCode As Integer, Shift As Integer)

    If Chr(KeyCode) = vbTab Then
        If t.SelLength = 0 Then
            t.Text = Left(t.Text, t.SelStart) + Space(tp) + Mid(t.Text, t.SelStart + 1)
            t.SelStart = t.SelStart + tp
        End If
    End If

End Sub

tässä vaan ei oikeen toimi tää jutska siihen tulee kyllä ne välit mutta se tabi kanssa. miten sen saisi disabloitua?

Antti Laaksonen [05.11.2003 16:30:19]

#

Kokeilepas tällaista ratkaisua:

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyTab Then
        SendKeys Space(4)
        KeyCode = 0
    End If
End Sub

Ohjelma luulottelee tekstikentälle, että käyttäjä on painanut neljä kertaa välilyöntiä tabulaattorin sijaan. Aito painallus taas kätketään asettamalla KeyCoden arvoksi 0.

sooda [06.11.2003 08:43:54]

#

kun toi tabi on niin erikois näppäin niin se ensin tulee siihen ja sitten vasta ohjelma kutsuu tota keydownia. toi siis ei disabloi sitä koska se on jo tullut siihen (tai jotain)

Vastaus

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

Tietoa sivustosta