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?
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.
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)
Aihe on jo aika vanha, joten et voi enää vastata siihen.