|
Traitement automatique d'événements sur une table. |
Débuté par guest, 27 nov. 2006 18:26 - 5 réponses |
| |
| | | |
|
| |
Posté le 27 novembre 2006 - 18:26 |
Bonjour, J’ai peut-être mal cherché sur le forum, mais dans tous les cas, je n’ai pas trouvé une réponse qui me convienne. Alors je me lance.
Comment fait-on pour empêcher un traitement qui se fait automatiquement sur une table ?
Dans mon cas précis, j’aimerais que lorsque je clique sur mon clavier "flèche bas", que ma sélection ne descende pas d’une ligne. J’aimerais qu’il ne se passe rien.
Merci a celui qui me débusquera une réponse… |
| |
| |
| | | |
|
| | |
| |
Posté le 27 novembre 2006 - 20:40 |
J'ai pas testé mais voilà :
Sur le code de ta table, section WM_KEYDOWN (touche enfoncé) tu insère un code du genre :
SI ToucheEnfoncée(CODEDELATOUCHE) ALORS MONACTION() FIN
N'oubli pas de récupérer le fichier keyconst.wl
EXTERNE "KEYCONST.wl"
Et Winconst.wl
> Ces fichiers sont dans le dossier WinDev 10\Personnel\Externe
Dans ces fichiers tu pourras récupérer les constantes des touches que tu souhaites manipuler.
Good luck. Chris. |
| |
| |
| | | |
|
| | |
| |
Posté le 27 novembre 2006 - 20:40 |
Bonjour,
je te propose ceci qui est du bidouillage mais qui devrait focntionner:
tu branches un evenement sur ta table dans Initialisation Evénement("pl_KeyDown", "TABLE", WM_KEYDOWN)
dans la procédure pl_KeyDown: SI ToucheEnfoncée(VK_DOWN) ALORS TableSelectPlus(Table,TableSelect(Table)) FIN
Voilà pas sur à 100% mais ça me paraît pas trop mal.
Bon dev,
Philippe
Laure F a présenté l'énoncé suivant :
Bonjour, Jââ0AC™ai peut-être mal cherché sur le forum, mais dans tous les cas, je nââ0AC™ai pas trouvé une réponse qui me convienne. Alors je me lance.
Comment fait-on pour empêcher un traitement qui se fait automatiquement sur une table ?
Dans mon cas précis, jââ0AC™aimerais que lorsque je clique sur mon clavier "flèche bas", que ma sélection ne descende pas dââ0AC™une ligne. Jââ0AC™aimerais quââ0AC™il ne se passe rien.
Merci a celui qui me débusquera une réponseââ0AC¦
-- Philippe SAINT-BERTIN Accastillage Diffusion Mail: psaintbertin-no spam@accastillage-diffusion.fr |
| |
| |
| | | |
|
| | |
| |
Posté le 27 novembre 2006 - 20:41 |
Bonjour.
Voir du coté de Evenement, Exemple:
dans le code d'initialisation de la table (dans l'Exemple,elle s'appelle GrilleFamille)
Evénement("CaptureEveClavier","GrilleFamille",256)
Et la procédure locale
PROCEDURE CaptureEveClavier(Message, wParam, lParam)
_EVE.Retour=0
Cela devrait s'approcher du résultat désiré.
Michel, Montréal |
| |
| |
| | | |
|
| | |
| |
Posté le 28 novembre 2006 - 11:57 |
Merci beaucoup pour les propositions !!!
La solution qui me convient est celle de Lahellec Michel (Grand merci), ça permet de bloquer toutes les actions venant du clavier.
Les soucis avec les autres solutions, c'est que l'événement s'exécute tout de même après le traitement de la procédure. |
| |
| |
| | | |
|
| | |
| |
Posté le 28 novembre 2006 - 12:00 |
Bonjour,
Oui le _Eve.retour = 0 est la solution "passe partout" pour inhiber une action standard. J'en ai fait hier un billet car j'avais eu à bloquer l'action de la roulette de la souris sur un champ ascenseur !
Elian Lacroix elian.lacroix@gmail.com http://elianlacroix.blogspot.com
"Lahellec Michel" <kerloic.armor@sympatico.ca> a écrit dans le message de news: 456b2c7b@news.pcsoft.fr...
Bonjour.
Voir du coté de Evenement, Exemple:
dans le code d'initialisation de la table (dans l'Exemple,elle s'appelle GrilleFamille)
Evénement("CaptureEveClavier","GrilleFamille",256)
Et la procédure locale
PROCEDURE CaptureEveClavier(Message, wParam, lParam)
_EVE.Retour=0
Cela devrait s'approcher du résultat désiré.
Michel, Montréal
|
| |
| |
| | | |
|
| | | | |
| | |
|