Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: textbox liikkuminen??

Vepa [12.05.2003 11:22:55]

#

eli olisiko ideoita miten toteuttaa nuolinäppäimillä liikkuminen textboxista toiseen tab-indexin perusteella??

Antti Laaksonen [12.05.2003 19:11:29]

#

Tähän on varmaan olemassa parempikin tapa, mutta miten olisi seuraava: Tekstikentissä ja muissa formin kontrolleissa voi liikkua seuraavaan Tab-näppäimellä ja edelliseen Tab-Shift-yhdistelmällä. Sitten vain simuloidaan kyseisten näppäimien painalluksia SendKeys-komennon avulla seuraavan koodin tapaan:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    'jos painettiin vasemmalle-nuolinäppäintä...
    Case vbKeyLeft
        '...lähetetään näppäily Shift+Tab
        SendKeys "+{TAB}"
    'jos painettiin oikealle-nuolinäppäintä...
    Case vbKeyRight
        '...lähetetään näppäily Tab
        SendKeys "{TAB}"
    End Select
End Sub

Private Sub Form_Load()
    'tämän jälkeen kaikki näppäilyt ohjautuvat ensin formille
    Me.KeyPreview = True
End Sub

Vepa [14.05.2003 08:39:00]

#

kiitosta vaan avusta..
toimii hieman liiankin hyvin..

Vepa [15.05.2003 12:45:55]

#

asiaa lisää tutkittuani huomasin että, tämä ei toimi koska siellä on välissä datacomboja ja nuolten painallukset alkavat kelaamaan comboa..

eli saisiko tuon combon kelauksen jotenkin pois päältä??
ja että nuolilla liikuttaisiin vain seuraavaan kenttään..

ihmettelen sitä jos tuo kerta simuloi tab-näppimen painallusta niin nuoli jää comboon jumiin, mutta tabilla sieltä pääsee seuraavaan text kenttään aivan normaalisti??

Antti Laaksonen [17.05.2003 01:02:01]

#

Muuta Form_Keydown-aliohjelma muotoon:

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Select Case KeyCode
    'jos painettiin vasemmalle-nuolinäppäintä...
    Case vbKeyLeft
        '...lähetetään näppäily Shift+Tab
        SendKeys "+{TAB}"
        KeyCode = 0
    'jos painettiin oikealle-nuolinäppäintä...
    Case vbKeyRight
        '...lähetetään näppäily Tab
        SendKeys "{TAB}"
        KeyCode = 0
    End Select
End Sub

Nyt KeyCode nollataan aina silloin, kun on painettu vasenta tai oikeaa nuolta, ja näin ollen näiden näppäinten painallukset eivät koskaan pääse vaikuttamaan kontrolleihin.

Vepa [18.05.2003 11:26:12]

#

ei auttanut tuo...
nyt se jää täysin jumiin comboihin.. mutta ei onneksi enää kelaa combon tietoja

mutta mites tosta combosta pääsis siis pois ihan oikealla tai vasemmalle nuolella??

kun nyt pääsee kelaamaan muutaman textboxin mutta sit tulee yksi combo ja sen yli ei pääse kuin tabulaattorilla..??

Vastaus

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

Tietoa sivustosta