[Résolu] Problème avec les constantes standard windows : KeyConst.WL
Stagiaire WDF
Inscrit:
09/08/2005 01:37
Post(s): 3
Bonjour,
J'ai écrit une procédure afin d'autoriser la suppression d'une ligne de ma table mémoire à l'aide de la touche DEL ou DELETE(SUPPR). Malheureusement, ça ne marche pas.
Voici ma procédure :

PROCEDURE suppLigneTable()
SI _EVE.wParam = VK_DELETE ALORS
TableSupprime(MoiMeme)
FIN

Pourtant, j'ai bien intégré le fichier qui contient les constantes standard( EXTERNE "KeyConst.WL" ) dans le code d'initialisation de mon projet.
Le problème est que quand j'appelle ma procédure dans "Prise de focus de FenetreTable ou Sélection d'une ligne de maTable", il ne se passe rien du tout.

Je ne sais pas si qlq1 aurait une idée sur la manière dont il faut résoudre ce problème.

Merci de votre aide !

Contribution le : 09/08/2005 02:03
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec les constantes standard windows : KeyConst.WL
Utilisateur WDF
Inscrit:
22/03/2005 14:40
De Lyon Rhône France
Post(s): 51
Bonjour,
utilisez-vous la fonction "Evenement" ?
--
Cordialement
Christophe Charron

Contribution le : 09/08/2005 07:08
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec les constantes standard windows : KeyConst.WL
Anonyme
Voilà, je viens de modifier mo code afin d'utiliser la fonction Evénement mais ça ne marche tjrs pas . Voici les modifications :

- code de déclarations globales de fenTable (la fenêtre qui contient maTable)
EXTERNE "C:\WinDev8\Personnel\Externe\KeyConst.WL"

- code de prise de focus de fenTable :
VK_DELETE est un entier = 46
Ev est un entier = Evénement("uneToucheEnfoncer", "fenTable.*", VK_DELETE)
uneToucheEnfoncer(Ev)

/** J'ai un warning comme koi VK_DELETE(en locale) masque la constante VK_DELETE de la fenTable. Ce qui est normal, pcqu'une variable locale masque tjrs une variable globale de même nom (et type).*/

- code de ma procédure locale upDater :

PROCEDURE uneToucheEnfoncer(SUPPRIMER)
SI _EVE.wparam = SUPPRIMER ALORS
TableSupprime(maTable)

FIN
PROBLEME : Ca ne marche tjrs pas !!!
Thx !
Lonely.

Contribution le : 09/08/2005 20:49
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec les constantes standard windows : KeyConst.WL
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour

- code de déclarations globales de fenTable (la fenêtre qui contient maTable)
//Appel d'un fichier externe contenant des constante pré-défini
EXTERNE "KeyConst.WL"
//Ajout d'un evenement sur le message WM_KEYDOWN
//Appuie sur une touche quelquonque
Evenement("UneToucheEnfoncer",".maTable",WM_KEYDOWN)


Création de la procédure qui sera appelée à chaque fois qu'une touche sera appuyée.
PROCEDURE UneToucheEnfoncer(pMessage, wParam, lParam)
//Ici on ne traite que si touche = SUPPR
SI pMessage = VK_DELETE Alors
  TableSupprime(maTable)
FIN

Contribution le : 10/08/2005 10:11
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec les constantes standard windows : KeyConst.WL
Stagiaire WDF
Inscrit:
09/08/2005 01:37
Post(s): 3
Merci drcharly93 pour la réponse mais j'ai toujours un souci concernant la gestion de cet événement. D'abord, j'ai changé la ligne où c'était Evénement (UneToucheEnfoncer", ".maTable", WM_KEYDOWN) en Evénement("UneToucheEnfoncer", ".*", WM_KEYDOWN) pcq j'avais ce message d'erreur : " .maTable" est inconnu (ce n'est ni un champ ni une fenêtre accessible depuis le code en cours).
Deuxièmement, je ne comprend pas le rôle des variables wParam et lParam d'autant plus qu'il n'y a que pMessage qui est utilisée.
Néanmoins, j'ai essayé toutes les possibilités càd :
-> J'ai appelé la procédure UneToucheEnfoncer dans la prise de focus de la fenTable comme ceci :
supp est un entier = Evénement("UneToucheEnfoncer", ".*", WM_KEYDOWN)// ceci est fait dans le code de déclaration globale de fenTable
UneToucheEnfoncer(supp, _EVE.wParam, _EVE.lParam)// dans la prise de focus
. Il ne se passe rien
-> J'ai ensuite modifié UneToucheEnfoncer comme ceci : tout en passant test après test supp ou _EVE.wParam
PROCEDURE UneToucheEnfoncee(pMessage)
SI pMessage = VK_DELETE ALORS
	TableSupprime(maTable)
FIN
. Toujours rien !!!
-> J'ai même essayé d'appeler cette procédure dans code de Sélection d'une ligne de maTable. Toujours pas de suppression, à chaque test, avec ma touche DEL.

Je ne sais plus trop quoi faire.

@+
Lonely

Contribution le : 11/08/2005 02:00
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec les constantes standard windows : KeyConst.WL
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour

en faite le VK_DELETE doit être comparé avec le wParam et nom pMessage puisque pMessage = 258 de plus il faut rajouter la ligne EXTERN "WINCONST.WL pour gérer les constantes WM_*

- code de déclarations globales de fenTable (la fenêtre qui contient maTable)
//Appel d'un fichier externe contenant des constante pré-défini
EXTERN "WINCONST.WL"
EXTERNE "KeyConst.WL"
//Ajout d'un evenement sur le message WM_KEYDOWN
//Appuie sur une touche quelquonque
Evenement("UneToucheEnfoncer",".maTable",WM_KEYDOWN)


Création de la procédure qui sera appelée à chaque fois qu'une touche sera appuyée.
PROCEDURE UneToucheEnfoncer(pMessage, wParam, lParam)
//Ici on ne traite que si touche = SUPPR
SI wParam = VK_DELETE Alors
TableSupprime(maTable)
FIN


Ce code à été testé et il est fonctionnel

Contribution le : 11/08/2005 09:03
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Problème avec les constantes standard windows : KeyConst.WL
Stagiaire WDF
Inscrit:
09/08/2005 01:37
Post(s): 3
Un grand merci drcharly93
ça marche parfaitement bien.
@+

Contribution le : 12/08/2005 01:01
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2