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

IHM Discussion :

Comment empêcher l'utilisation des touches F1 à F16 dans un état


Sujet :

IHM

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut Comment empêcher l'utilisation des touches F1 à F16 dans un état
    Salut,

    Comment empêcher l'utilisation des touches F1 à F16 dans un état.

    Je sais sur sur les forms, mais pour les états, il n'y a pas l'évènement sur touche appuyée.

    Donc, un user sais utiliser les touches de fonction.

    merci
    A+

  2. #2
    Membre expérimenté Avatar de stigma
    Homme Profil pro
    Créateur jeux vidéo
    Inscrit en
    Octobre 2003
    Messages
    1 116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Créateur jeux vidéo
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 116
    Points : 1 618
    Points
    1 618
    Par défaut
    Si c'est un état en mode d'impression comme je le pense, un user ne risque pas de modifier quelque chose.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut,

    Merci de me répondre, mais en fait, si un user presse F1 ou Maj+F1 ou Ctrl+F1 ou Alt+F1, ou tout autre touche de F1 à F16, il a par ex l'aide d'access qui apparaît. Je ne veux donc que garder l'acces à F2; F4; et F10.

    Je l'ai fait dans tous les forms, cela fonctionne très bien.
    Pour les états, il n'y a pas d'aperçus des touches, donc pas possible de vérifier.

    Il y a bien la macro autokeys, mais comment interdire toutes les touches de fonction y compris avec Maj; Ctrl et Alt.

    Merci
    A+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut,

    Je réitère ma question.

    Avec la macro autokeys, j'ai empêché l'accès des touches de fonctions simple,
    Mais comment le faire avec Maj; Ctrl ET Alt

    J'ai essayé avec +{F1} et ^{F1} et ça fonctionne, mais pour Alt{F1}, ça fonctionne pas avec %{F1} .

    Merci de me dire comment vous faites pour contrôler les touches de fonctions dans vos applis.

    A+

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut stigma et electrosat03,

    de même qu'avec un formulaire:
    Aperçu des touches: Oui

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Report_KeyDown(KeyCode As Integer, Shift As Integer)
    If (KeyCode >= 112) And (KeyCode <= 123) Then KeyCode = 0
    End Sub

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut,

    Le problème, c'est que je ne vois pas l'événement Aperçu des touches dans mes états???

    Merci

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    bonsoir,
    le code donné par vodiem
    c'est sur l'évènement : sur touche apuyée

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut Le vieux,

    Oui, je sais, mais dans les états il n'y a pas cet événement.

    Comment gères-tu les touches d'accès dans tes appli?

    J'ai des menus contextuels qui utilises les touches de fonctions, donc je dois garder l'accès, il m'est donc impossible de décocher cette option au démarrage puisque j'utilise Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) dans les formulaires, cela marche parfaitement.

    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
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
     
       On Error GoTo Form_KeyDown_Error
        Select Case KeyCode
            Case vbKeyF2 'Autoriser la touche F2
                Exit Sub
     
            Case vbKeyF4 And Shift = 0 'Autoriser la touche Maj+F4
                Exit Sub
     
            Case vbKeyF10 'Autoriser la touche F10
                Exit Sub
     
            Case vbKeyF1 To vbKeyF16 And Shift >= 0
                'On annule l'effet normal de la touche
                'sinon, on peut utiliser les autres touches de fonction
                KeyCode = 0
                Shift = 0
                Exit Sub
        End Select
        Exit Sub
     
       On Error GoTo 0
       Exit Sub
     
    Form_KeyDown_Error:
     
        MsgBox "Error " & err.Number & " (" & err.Description & ") in procedure Form_KeyDown of Document VBA Form_F_saisie_presta"
    End Sub
    Mais dans les états, si qq utilise les touches de fonction...

    Donc comment faire dans les états.

    Merci
    A+

  9. #9
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut LE VIEUX,

    electrosat03>
    avec ac2007 et si je ne me trompe aussi ac2003 c'est toujours au même endroit. sélectionne le coin en haut à gauche de la fenetre ou dans la fenetre de propriété/type de selection: état/événement: aperçu des touches: Oui.
    tu trouveras aussi les autres événements...
    comme tu peux le voir le code généré est identique que celui du form.
    il suffit de remplacer l'entête Form_KeyDown par Report_KeyDown dans le module.


  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France

    Informations professionnelles :
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 219
    Points : 1 707
    Points
    1 707
    Par défaut
    Salut vodiem et electrosat03,
    Sur 2007, OK l’évènement y est bien, par contre je viens de vérifier sur un livre de 2002, cet évènement n’y est pas dans la liste exemple du livre. Par contre avant d’abandonner définitivement il faut toujours vérifier dans VBA.
    Si c’est ta version, ou inférieure ?
    2003 je ne me souviens pas.
    Donc ouvrir sur un quelconque évènement disponible de ton état le VBE, puis vérifier dans la liste en face de report si l’évènement n’y est vraiment pas.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 239
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 239
    Points : 555
    Points
    555
    Par défaut
    Salut,

    Je n'ai toujours pas résolu mon problème, je ne sais toujours pas empêcher l'accès au touches de fonctions dans les états.

    Si je fais par Macro Autokeys, je n'ai plus accès à la lecture des touches dans les procédures des forms. Et de toutes façons, je ne sais pas comment interdire les touches de fonction précédées de Alt.

    Merci pour vos idées.

    A+

Discussions similaires

  1. Réponses: 15
    Dernier message: 17/05/2011, 07h58
  2. Comment empécher l'enregistrement des images par le navigateur ?
    Par zouetchou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 15/08/2006, 23h14
  3. Réponses: 9
    Dernier message: 10/08/2006, 17h33
  4. [C#] Comment utiliser des dll win 32 dans un projet .NET
    Par Mickey.jet dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 31/05/2005, 13h45
  5. [MSXML] Comment empécher la conversion des entités ?
    Par nima dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/11/2002, 14h14

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