[ anakin14 @ 18.07.2007. 14:11 ] @
Da li postoji nacin da postavim keyboard shortcut na userform textbox-u. Recimo imam ROBU i da kad kliknem na userform i pritisnem R on me prebaci na taj textbox itd.Nadam se da ste me shvatili.Puno hvala!!!

[Ovu poruku je menjao anakin14 dana 18.07.2007. u 15:21 GMT+1]

[Ovu poruku je menjao Jpeca dana 24.07.2007. u 11:38 GMT+1]
[ Gix_ @ 19.07.2007. 21:53 ] @
Pozdrav za sve ,
ne znam dali sam razumeo tvoje pitanje , bez obzira evo jednog primera .
Za prebacivanje na neku kontrolu u UserForm koristise komanda SetFocus
Cao
[ anakin14 @ 20.07.2007. 10:50 ] @
upravo to ali ne preko commandbuttona nego shortcuta na tastaturi: recimo ako hocu na textbox4 ja pritisnem ctrl + 4 itd. da je tako nesto moguce?
[ anakin14 @ 22.07.2007. 18:15 ] @
kako da namestim da ako recimo imam 10 textboxa jedan ispod drugog sa redom postavljenim tebindexima da na enter prebaci sa jednog na drugi a ne i kursorima i kako recimo u comboboxu kada strelicama trazim vrednost da kada dodje do kraja ne predje na sledeci objekat (neki textbox ) nego da to uradi samo na enter to jest kada se izabere neka vrednost? hvala
[ Jpeca @ 23.07.2007. 13:57 ] @
Koristeci KeyDown dogadjaj (ili KeyPress, KeyUp) svake textbox kontrole, treba ispistati pritisnuti taster i zavisno od toga prebaciti se u drugu kontrolu - SetFocus. Npr. sledeci kod reaguje na CTRL+4 u prvom textboxu i pozicionira te u četvrti
Code:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim fAlt As Boolean
Dim fShift As Boolean
Dim fCtrl As Boolean

fAlt = IIf(Shift = 4, True, False)
fShift = IIf(Shift = 1, True, False)
fCtrl = IIf(Shift = 2, True, False)

If KeyCode = vbKey4 And fCtrl Then
' Pressed CTRL + 4
Me.TextBox4.SetFocus
'Clear the key stroke
KeyCode = 0
End If

End Sub

Da se kod nebi duplirao najbolje da napišeš poseban podprogram sa Select ... Case koji će da na osnovu ulaznih parametara odradi šta treba. Ovaj podprogram treba da pozivaš iz KeyDown događaja svake textbox kontrole prosleđujući parametre KeyCode i Shift

[Ovu poruku je menjao Jpeca dana 24.07.2007. u 09:12 GMT+1]
[ Jpeca @ 23.07.2007. 14:06 ] @
Citat:
na enter prebaci sa jednog na drugi
- Enter standardno prebacuje sa jednog na drugi, ukoliko ti textboxovi nisu multiline
Citat:
a ne i kursorima
da bi sprečio navigaciju na kursor treba da napišeš svoj kod na KeyDown događaj kontrole u kome ćeš da ispitaš da li pritisnuta strelica (keyCode = vbKeyUp, vbKeyDown...) i onda da radiš šta treba, a ne prelazak u sledeću kontrolu

Obrati pažnju da se radi o događaju text box kontrole, a ne forme.
Pritisak na taster sa standardnim ANSII kodom (alfanumerički karakteri, kombinacija sa CTRL, Backspace, Esc) izaziva događaje KeyDown - KeyPress - KeyUp (tim redom). Za razliku od KeyDown i KeyUp pritisak na strelice, tab, Enter, Alt ne izaziva događaj KeyPress.

[Ovu poruku je menjao Jpeca dana 24.07.2007. u 11:42 GMT+1]