[ anakin14 @ 26.08.2010. 16:41 ] @
imam jedan textbox i postavio sam da prilikom pritiska enter ako je njegova vrednost 160 - on preusmerava na neki modul.
e sad dodao bih da se isto postize i pritiskom na shift + enter, da li moram da celu proceduru ponovo pisem i za shift + enter ili postoji mogucnost da na keycode shift + enter stavim vrednost textboxa 160 i pozovem mu keycode = enter?

uostalom da li je uopste moguce da reicmo iz nekog drugog textboxa pozoves keycode enter na nekom drugom objectu a ne da pises code iznova?

hvala puno!
[ neptuncokg @ 26.08.2010. 18:59 ] @
Stavi taj tvoj kod na forum, da vidimo kako si resio do sada. Tema je interesantna, pa svaki primer moze da bude od koristi. Pozdrav
[ anakin14 @ 27.08.2010. 15:43 ] @
Code:




If KeyCode = vbKeyReturn Then

If ComboBox1.Value = 160 Then

unos

If fiskalnistampac = True Then
kasa Workbooks("liste").Sheets("datum").Range("a11").Value
End If


ukupno = 0
stavka = 1
proverakon = 0
Workbooks("liste.xls").Sheets("datum").Range("a6").Value = Workbooks("liste.xls").Sheets("datum").Range("a6").Value + 1

pocetakkucanja
Exit Sub

End If

end if


kao sto vidis na vrednost 160 uz keydown enter ide na modul unos.

e ja bih sada da to isto dobijem na ctrl i enter bez obzira koja je vrednost combo box-a

moje pitanje je da li mogu da na keydown ctrl + enter nekako pozovem da vrednost bude 160 i kao da je samo pritisnut enter da se program vrati na ovaj gore kod ili moram zasebno da pisem ponovo ?

na primer

if kecode = enter i ctrl onda

combobox1.value = 160
da se combobox ponasa kao da je enter stisnut i da ode na taj kod

end if

hvala puno!
[ Jpeca @ 30.08.2010. 06:45 ] @
U događaja Keydown pomoću parametra Shift možeš da odrediš da li je pritisnut taster Shift, Alt ili Ctrl

Code:
  ' Bit maske se koriste da se odredi da li je pritisnuto Shift, Alt ili CTRL
    intShiftDown = (Shift And fmShiftMask) > 0 ' Pritisnut Shift
    intAltDown = (Shift And fmAltMask) > 0     ' Pritisnut Alt
    intCtrlDown = (Shift And fmCtrlMask) > 0   ' Pritisnut Ctrl


Međutim, pošto Keydown reguje na ove tastere, pomoću njega (koliko je meni poznato) nije moguće obraditi tasterske kombinacije. Za to se može iskoristi događaj Keypress.
Dakle u Keydown događaju stavi na početku da se ispita da li je pritisnuto CTRL i ako se utvrdi da je pritisnut Ctrl preskoči se ostatak koda.
Code:
If intCtrlDown Then GoTo Kraj  ' Preskoci ako je pritisnut CTRL
    . . .
 Kraj:

Onda u događaju KeyPress koji se dešava posle KeyDown obradi tastersku kombinaciju CTRL+Enter. Kod ove kombinacije je 10.

Code:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  If KeyAscii = 10 Then
       MsgBox "Pritisnuta je tasterska kombinacija CTRL + Enter."
  End If
End Sub