Voorkomen dat vbKeydown een Togglebutton aanzet

Status
Niet open voor verdere reacties.

combinatietang

Gebruiker
Lid geworden
24 mrt 2008
Berichten
48
Ik heb een menuvak gemaakt met knoppen. Hierin zitten togglebuttons en commandobuttons.
Met de tab-toets ga ik netjes door het menu, maar als ik de keydown-toets gebruik wordt de togglebutton van false naar true gezet.
Hoe kan ik dit voorkomen of blokkeren??

Code 1: verlegt de focus van commandobutton Cmd4b naar togglebutton Tog5

Private Sub Cmd4b_KeyDown(ByVal Keycode As MSForms.ReturnInteger, ByVal Shift As Integer)
If Keycode = vbKeyTab or Keydown Then Me.CmdHighlight Me.Frm5
Tog5.SetFocus
End Sub

Code 2: verlegt de focus van togglebutton Tog5 naar commandobutton CmdSluiten of Cmd5a

Private Sub Tog5_KeyDown(ByVal Keycode As MSForms.ReturnInteger, ByVal Shift As Integer)

If Keycode = vbKeyTab Or vbKeyDown Then
If Tog5.Value = True Then
Me.CmdHighlight Me.FrmSluiten
CmdSluiten.SetFocus
End If
If Tog5.Value = False Then
Me.CmdHighlight Me.Frm5a
Cmd5a.SetFocus
End If
End If
End Sub

Code 3: deze code bepaalt of togglebutton Tog5 "true" of "false" retourneert, en mag dus niet worden aangezet door vbKeyDown

Private Sub Tog5_Click()
'Submenu vensters openen of sluiten
Call SubVensters
End Sub

Ter info: ik heb alle tabstops en tabindexen in het userform nagekeken. De volgorde klopt.
 
Zet je code in codetags, dat leest makkelijker.
Wat is de Keydown toets?
Plaats tevens een voorbeeld document.
 
Laatst bewerkt:
Voorbeeld

Dag Edmoor,

Ik heb een voorbeeldbestand geupload.
Ik hoop dat jij, of een andere vba-specialist, een simpele oplossing ziet.
Op google heb ik niks gevonden.
 

Bijlagen

  • Voorbeeld.xlsm
    578,5 KB · Weergaven: 34
Hier zat ik fout.
 
Laatst bewerkt:
Dag Harry,

De door jou voorgestelde code had ik al eerder geprobeerd, maar dat maakte geen verschil.
Verder klopt het dat er twee verschillende events staan die naar dezelfde code verwijzen, omdat je zo kunt kiezen of je met de TAB-toets of pijltjes-toets naar de volgende knop gaat.
Hierbij verandert de knop waar de focus op ligt van kleur, en dit gebeurt in de sub CmdHighlight.

Ik heb trouwens in mijn vorig berichtje een bestandje bijgevoegd. Daarin kun je precies zien wat er gebeurt.
 
Het bestand heb ik bekeken.
Alles wordt netjes groen.
Geen idee waar ik naar moet kijken wat er fout gaat.


Ik zie dat de Or inderdaad zo werkt.
Het is een bitsgewijze vergelijking.
 
Laatst bewerkt:
In het UserForm_Initialize event zet je Tog5.value op True (waarom niet al in ontwerpmodus?) dit triggert Tog5_Click
Verder zie ik niet wat er "fout" gaat
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan