doryam
Messages postés7Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention30 octobre 2012
-
28 juil. 2005 à 17:03
doryam
Messages postés7Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention30 octobre 2012
-
3 août 2005 à 08:29
Bonjour,
Je voudrais savoir s'il existe un moyen avec Visual Basic 6, de passer
d'un index Tabstrip à un autre en utilisant les touches Ctrl/TAB et
Ctrl/Alt/Tab où que l'on soit positionné dans une fenêtre.
J'ai essayé en utilisant l'évenement KEYDOWN, mais il faudrait le
déclarer pour tous les objets de la fenêtre... est-ce bien judicieux ?
doryam
Messages postés7Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention30 octobre 2012 3 août 2005 à 08:29
Voilà une solution possible
Il faut positionner le parametre "KeyPreview" de la fenêtre sur True,
ce qui permet à la fenêtre de recevoir les événements de clavier de
tous ses contrôles. Ensuite, il faut utiliser l'événement
"KeyDown" de la Form comme suit:
' Enum des frames en relation avec le Tabstrip tabContainer
Private Enum enmTabs
enmtHaupt = 1
enmtAdresse = 2
enmtOeffnung = 3
enmtCodierung = 4
enmtTabCount = 4
End Enum
Public Function IsAltKeyPressed(ByVal Shift As Integer) As Boolean
IsAltKeyPressed ((Shift And vbAltMask) vbAltMask)
End Function
Public Function IsCtrlKeyPressed(ByVal Shift As Integer) As Boolean
IsCtrlKeyPressed ((Shift And vbCtrlMask) vbCtrlMask)
End Function
Public Function IsShiftKeyPressed(ByVal Shift As Integer) As Boolean
IsShiftKeyPressed ((Shift And vbShiftMask) vbShiftMask)
End Function
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Ctrl/Tab or Ctrl/Alt/Tab Switch to next tabStrip index
If KeyCode = vbKeyTab Then
If gControl.IsCtrlKeyPressed(Shift) Then
Dim lngUserTab As Long
'Cacher tous les frames fraContainer en relation avec les Tabs du
tabstrip tabContainer
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 28 juil. 2005 à 18:40
Salut
Bizarre comme question : Normalement, c'est Windows (et pas ton application) qui gère ces touches de raccourci.
Aurais-tu reconfiguré des raccourcis ou genre de HotKey ?
Pas de solution en vue.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
(je
doryam
Messages postés7Date d'inscriptionlundi 6 septembre 2004StatutMembreDernière intervention30 octobre 2012 29 juil. 2005 à 09:01
En fait, j'ai d'autres objets dans la fenêtre tels que des textbox. Supposons que je soit positionné sur une textbox, alors mon raccourci Ctrl/Tab va réagir pour ce textbox, et non pas pour le tabstrip dans lequel j'ai mon textbox. Il me faudrait en quelque sorte un évènement générique KEYDOWN pour ma fenêtre qui réagisse en priorité par rapport aux autres évènements KEYDOWN des objets contenus dans mon tabstrip.