IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Verrouillage majuscule


Sujet :

VB 6 et antérieur

  1. #1
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut Verrouillage majuscule
    Bonjour.
    Voila je fais un petit programme dans lequel je dois absolument faire taper du texte en minuscule dans la boite Executer. J'arrive a taper du texte dans cette boite grace a la fonction SendKeys mais si l'utilisateur s'est mis en verrouillage majuscule, la commande que je fait taper est entrée en majuscule, je souhaite donc connaitre l'etat du verrouillage (majuscule ou minuscule) et le modifier si besoin est, enfin le remettre a son etat initial s'il a été changé.
    Quelqu'un saurait-il faire cela ?
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  2. #2
    Membre régulier
    Inscrit en
    Juin 2005
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 93
    Points : 92
    Points
    92
    Par défaut
    salut
    tu peux toujors utilisé LCase(taValeur)

  3. #3
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Salut,

    Il y a peut-être plus simple :

    Tu récupère les touches utilisées par l'utilisateur avec un GetKey je pense

    Dans ce cas tu passes par la fonction LCase pour repassé la lettre en minuscule et tu l'envoie avec SendKey

    J'espère que cela pourra t'aider

    Bonne continuation

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu ajoutes un module dans lequel tu recopies ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    Option Compare Database
    Option Explicit
     
    ''''********************************************************************************''''
    '   Procédure utilisée pour simuler l'appuie des touches CapsLock, Numlock et ScrollLock
    ''''********************************************************************************''''
     
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As _
        Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) _
        As Long
    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _
        Integer
    Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" _
        (ByVal wCode As Long, ByVal wMapType As Long) As Long
     
    Public Const VK_NUMLOCK = &H90
    Public Const VK_SCROLL = &H91
    Public Const VK_CAPITAL = &H14
    Private Const KEYEVENTF_EXTENDEDKEY = &H1
    Private Const KEYEVENTF_KEYUP = &H2
     
    Private Sub SetKeyState(ByVal Key As Long, ByVal State As Boolean)
      Call keybd_event(Key, MapVirtualKey(Key, 0), KEYEVENTF_EXTENDEDKEY Or 0, 0)
      Call keybd_event(Key, MapVirtualKey(Key, 0), KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
    End Sub
     
    Private Property Get CapsLock() As Boolean
      CapsLock = GetKeyState(VK_CAPITAL) = 1
    End Property
     
    Private Property Let CapsLock(ByVal Value As Boolean)
      Call SetKeyState(VK_CAPITAL, Value)
    End Property
     
    Private Property Get NumLock() As Boolean
      NumLock = GetKeyState(VK_NUMLOCK) = 1
    End Property
     
    Private Property Let NumLock(ByVal Value As Boolean)
      Call SetKeyState(VK_NUMLOCK, Value)
    End Property
     
    Private Property Get ScrollLock() As Boolean
      ScrollLock = GetKeyState(VK_SCROLL) = 1
    End Property
     
    Private Property Let ScrollLock(ByVal Value As Boolean)
      Call SetKeyState(VK_SCROLL, Value)
    End Property
     
    Public Sub subSetCapsLock(ByVal Status As Boolean)
      CapsLock = Status
    End Sub
     
    Public Sub subSetNumLock(ByVal Status As Boolean)
      NumLock = Status
    End Sub
     
    Public Sub subSetScrollLock(ByVal Status As Boolean)
      ScrollLock = Status
    End Sub
    Tu l'utilises comme bon te semble, par exemple subSetCapsLock() avec True ou False selon le cas...

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    merci mais il n'apprecie pas la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Option Compare Database
    a quoi ca sert ?
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  6. #6
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    De plus je peut activer le verouillage mais pas l'enlever:
    le dévérouille pas
    J'ai remarqué que la variable state dans SetKeyState n'était pas utilisée, peut etre y a-t-il un rapport ?
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  7. #7
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par avigeilpro
    merci mais il n'apprecie pas la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Option Compare Database
    a quoi ca sert ?
    A rien pour VB... C'est pour Access
    Tu peux l'enlever.

    Ce module est opérationnel, vérifie avec ceci en appuyant sur F5 et en regardant ton voyant CapsLock:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Test()
    Dim I As Long
    Dim J As Long
    Dim K As Long
    Dim blnStatus As Boolean
     
      For K = 1 To 11
        For I = 1 To 5000000
          J = J + 1
        Next
        DoEvents
        blnStatus = Not blnStatus
        subSetCapsLock blnStatus
      Next
    End Sub
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  8. #8
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Non celui-ci ne change pas. mais peut-etre est-ce parce-que chez moi il faut qppuyer sur la touche majuscule pour le dévérouillage
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  9. #9
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    J'ai résolu mon problème, voici mon code final a mettre dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Option Explicit
     
    ''''********************************************************************************''''
    '   Procédure utilisée pour simuler l'appuie des touches CapsLock, Numlock et ScrollLock
    ''''********************************************************************************''''
     
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As _
        Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) _
        As Long
    Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As _
        Integer
    Private Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" _
        (ByVal wCode As Long, ByVal wMapType As Long) As Long
     
    Public Const VK_NUMLOCK = &H90
    Public Const VK_SCROLL = &H91
    Public Const VK_CAPITAL = &H14
    Private Const KEYEVENTF_EXTENDEDKEY = &H1
    Private Const KEYEVENTF_KEYUP = &H2
     
    Public Sub SetKeyState(ByVal Key As Long, ByVal State As Boolean)
     
      keybd_event Key, MapVirtualKey(Key, 0), KEYEVENTF_EXTENDEDKEY Or 0, 0
      keybd_event Key, MapVirtualKey(Key, 0), KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0
      If Key = 20 And State = False Then
          keybd_event 16, 0, 0, 0
        keybd_event 16, 0, 2, 0
      End If
     
    End Sub
     
    Public Property Get CapsLock() As Boolean
      CapsLock = GetKeyState(VK_CAPITAL) = 1
    End Property
     
    Public Property Let CapsLock(ByVal Value As Boolean)
      SetKeyState VK_CAPITAL, Value
    End Property
     
    Public Property Get NumLock() As Boolean
      NumLock = GetKeyState(VK_NUMLOCK) = 1
    End Property
     
    Public Property Let NumLock(ByVal Value As Boolean)
      SetKeyState VK_NUMLOCK, Value
    End Property
     
    Public Property Get ScrollLock() As Boolean
      ScrollLock = GetKeyState(VK_SCROLL) = 1
    End Property
     
    Public Property Let ScrollLock(ByVal Value As Boolean)
      SetKeyState VK_SCROLL, Value
    End Property
    Et voici comment il s'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If CapsLock = True Then CapsLock = False
    If NumLock = True Then NumLock = False
    If ScrollLock = True then ScrollLock = False
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/03/2015, 20h29
  2. recherche Xpath: problème de casse (majuscule/minuscule)
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 29/07/2003, 10h42
  3. [SYBASE]Verrouillage
    Par 6rose dans le forum Sybase
    Réponses: 7
    Dernier message: 22/07/2003, 09h16
  4. Recommandations sur le verrouillage Access
    Par leduke dans le forum Access
    Réponses: 4
    Dernier message: 26/05/2003, 14h02
  5. Mettre la première lettre des mots en majuscule
    Par seb.49 dans le forum Langage
    Réponses: 8
    Dernier message: 23/05/2003, 14h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo