Touche clavier

Signaler
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009
-
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009
-
bjr a tous le monde,
j'ai une db grid dans lequel je veux désactiver la touche bas du clavier s'il y a un condition précise

voila le code
procedure Tfrmmouvement.GrilleKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin

if key=VK_DOWN then
begin//7
[color=yellow]//VOILA LA CONDITION
if (grille.DataSource.DataSet.FieldValues['MVT_N_DEBIT']='0,00') and (grille.DataSource.DataSet.FieldValues['MVT_N_CREDIT']='0,00') then
begin //9
//VOILA LE CODE DE D2SACTIVER LA TOCHE BAS
Beep;
key:=0;
Exit;
end //
end;//7

end; /color

mais ce code ca marche pas,et merci d'avance

5 réponses

Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

bjr a tous le monde,
j'ai une db grid dans lequel je veux désactiver la touche bas du clavier s'il y a un condition précise

voila le code


procedure Tfrmmouvement.GrilleKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin

if key=VK_DOWN then
begin//7
[color=red]VOILA La CONDITION

if (grille.DataSource.DataSet.FieldValues['MVT_N_DEBIT']='0,00') and (grille.DataSource.DataSet.FieldValues['MVT_N_CREDIT']='0,00') then
begin //9
//VOILA LE CODE DE D2SACTIVER LA TOCHE BAS

Beep;
key:=0;
Exit;

end //
end;//7

end;


/color

mais ce code ca marche pas,et merci d'avance
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Ton grid n'a peut-être pas la focalisation. Mets la propriété KeyPreview de ta TForm à True, et place ce code dans le OnKeyDown de la TForm.

Cordialement, Bacterius !
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

bjr a tous,
wé bacterius j'ai met la propriété KeyPreview de ma TForm à True et j'ai placé le code dans le onkeydown de la form mé il reste toujour le meme probleme ca veux dire si je clicke sur la touche bas meme si la condition est existe c'est a dire il faut desactiver la touche et rester sur la meme ligne mais le contraire que je trouve(il passe pour la 2eme ligne)
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
bjr,
wé mai mé un "ShowMessage('Hello world')" ds l'évainement pr voir ci sa s'ecsécute ? sa s'écsécute ou pa ?

Cordialement, Bacterius !
Messages postés
18
Date d'inscription
mardi 15 mai 2007
Statut
Membre
Dernière intervention
17 novembre 2009

wé bacterius,le pure que j'ai trouvé c'est si par exemple je suis dans une colonne de type string de la ligne il me donne le message et il reste tjr sur la meme ligne meme si je répéte la clicke sur la touche mille fois,mais si suis dans une colonne de type float et je clicke sur la touche bas il me donne le message et il reste sur la ligne pour la premiere fois mé si je repete l'opération il passe pour la ligne suivante,