Bonjour à tous,
Je cherche à intercepter la touche "Echappe" dans une fenêtre Windev... et cela ne fonctionne pas, du moins pas comme je le souhaiterais !
En l'espèce, j'ai une fenêtre appelée FEN_ModeListe qui contient un champ Fenêtre Interne.
Le champ Fenêtre Interne prend pour source une fenêtre Interne ne comportant qu'un seul champ : un champ table.
La source peut être au choix une table sur le fichier client, le fichier clé ou le fichier produit.
La sélection se fait par bouton de la barre d'outil (un pour chaque fichier).
Donc :
Cela établi, l'idée est de permettre à l'utilisateur de fermer FEN_ModeListe par un simple Echappe (par exemple, s'il a ouvert la liste par erreur).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FEN_ModeListe -> FI_ListeClé -> champ TABLE_Clé -> FI_ListeClient -> champ TABLE_Client -> FI_ListeProduit -> champ TABLE_Produit
Pour ce faire, je peux utiliser un "Evénement()" sur chacun des champs TABLE, et cela marche très bien :
puis
Code : Sélectionner tout - Visualiser dans une fenêtre à part Evénement(EntréeLigne,TableAGérer,WM_KEYDOWN)
Mais cela suppose de gérer les événements à trois endroits de l'application.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 PROCEDURE EntréeLigne(MessageWindows) SI ToucheEnfoncée(VK_RETURN) OU MessageWindows=WM_LBUTTONDBLCLK ALORS Utilise(FEN_GeneClefs) FIN SI ToucheEnfoncée(VK_ESCAPE) ALORS Ferme(FEN_ModeListe) FIN
Je préfère donc mettre en œuvre une solution au niveau de la fenêtre FEN_ModeListe.
Mais pour ce faire, je suis apparemment obligé d'utiliser la syntaxe suivante :
Or, cette syntaxe fait référence aux champs, alors que je me disais (naïvement) qu'il devrait être possible de faire la même chose en ne faisant référence qu'à la fenêtre (comme semble l'indiquer la documentation), de cette façon-ci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Evénement(Echappe,FEN_ModeListe..Nom+".*",WM_KEYDOWN)
Ce qui ne fonctionne pas, d'où - enfin - ma question : pourquoi cela ne fonctionne-t-il pas ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part Evénement(Echappe,FEN_ModeListe..Nom,WM_KEYDOWN)
Partager