eli olisiko ideoita miten toteuttaa nuolinäppäimillä liikkuminen textboxista toiseen tab-indexin perusteella??
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
kiitosta vaan avusta..
toimii hieman liiankin hyvin..
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??
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.
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..??
Aihe on jo aika vanha, joten et voi enää vastata siihen.