Avatar billede Kim Neesgaard Seniormester
09. august 2003 - 15:05 Der er 6 kommentarer og
2 løsninger

Enter-tast bevæger cursor til næste felt

I Access kan man indstille, at Enter-tasten får cursoren til at bevæge sig til næste intastningsfelt på en form - kan man også indstille VB 6.0 til det?
Avatar billede sjh Nybegynder
09. august 2003 - 15:20 #1
Nej det kan man ikke... men du kan gøre det på en af disse måder.


Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    SendKeys "{TAB}"
  End If
End Sub

Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    SendKeys "{TAB}"
  End If
End Sub

eller

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    Text2.SetFocus
  End If
End Sub

Private Sub Text2_KeyUp(KeyCode As Integer, Shift As Integer)
  If KeyCode = 13 Then
    Text1.SetFocus
  End If
End Sub
Avatar billede vbcoder Nybegynder
09. august 2003 - 15:27 #2
For mit vedkommende bruger jeg keypress event

if keyascii=13 then
  sendkeys "{TAB}"
end if

for at dine kontroller modtager fokus i den rigtige rækkefølge skal du sætte tabindex i egenskabsarket for dine kontroller.

Den nemmeste måde at sætte dem i den rigtige rækkefølge er at starte med den sidste og give den tabindex 0. Så klikker du på den næstsidste og sætter tabindex til 0 og sådan forsætter du igennem dem bagfra og giver hele tiden den næste tabindex 0. VB ændrer selv rækkefølgen for de øvrige kontroller.

//vbcoder
Avatar billede martin_moth Mester
11. august 2003 - 14:31 #3
Hvis du vil IGNORERER tastet på return og ERSTATTE det med TAB, skal du først sætte KeyCode = 0 (Annulerer Return). Men skal return fungerer som altid, og derefter  virke som TAB, brug fx. vbcoders svar. Altså:


I keypress eventen:

'Hvis Return skal ignoreres
if keyascii=13 then
  keyascii = 0 
  sendkeys "{TAB}"
end if

'Hvis return skal virke som altid, og derefter fungere som TAB
if keyascii=13 then
  sendkeys "{TAB}"
end if

Bare en lille kommentar :o)
Avatar billede vbcoder Nybegynder
11. august 2003 - 19:43 #4
Den finte havde jeg glemt. Tak fordi du mindede mig om det.

Keysacii skal sættes til 0 da man eller får et bip fra højttaleren.

//vbcoder
Avatar billede Kim Neesgaard Seniormester
21. juni 2004 - 19:45 #5
Jeg erkender at være HÅBLØS sen til at afprøve dette, men det er ikke fordi jeg ikke har brug for det. Jeg 'iler' med at dele point ud!
Avatar billede Kim Neesgaard Seniormester
21. juni 2004 - 19:48 #6
Hvis jeg - stadig efter laaang tid - forsigtigt må komme med et lille opklaringsspørgsmål: selv om jeg sætter keyascii=0 ind, så bipper/båtter den alligevel, når man trykker på return?
Avatar billede vbcoder Nybegynder
22. juni 2004 - 07:49 #7
Du skal sætte keyascii=0 inden du sender tab da det keyascii værdien der trigger bippet fordi en enkeltlinje kontrol ikke acccepterer et enter tryk

Private Sub Text1_KeyPress(KeyAscii As Integer)
  If KeyAscii = 13 Then
      KeyAscii = 0
      SendKeys "{TAB}"
  End If
End Sub
Avatar billede Kim Neesgaard Seniormester
22. juni 2004 - 17:24 #8
Mange tak - virker!!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging