L_art_ment
Messages postés302Date d'inscriptionvendredi 21 septembre 2007StatutMembreDernière intervention 6 février 2013
-
8 juin 2008 à 13:33
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 2013
-
9 juin 2008 à 23:38
Mes cieux d'âmes bonjour
Je vous reviens avec un nouveau petit soucis, bêtte je pense, mais je ne trouve pas le pourquoi du comment ...
Déjà désolé si je ne poste pas dans le bon thème mais je ne savais pas lequel correspondait le mieux à mon soucis.
Alors passont aux choses sérieuses, je vous expose mon soucis...
Je suis en train de passer mon temps à me faire un petit lecteur media, bon il y en a des milliers sur Delphifr mais pas d'inquiétudes je ne vais pas le poster comme source lol c'est juste que je fais ma petite interface sympathique à moi bref...
Donc j'utilise des images sur ma forme, j'ai posé sur l'une des images une listebox, laquelle contient la liste des titres à écouter,
Je souhaiterai utiliser l'évènement OnKeyPress de cette listebox pour supprimer des titres de la liste... Mais lorsque je lance l'exe, j'ai l'impression qu'il ne détècte pô que j'appuie sur "suppr", je vous montre le code que j'utilise :
procedure TFrmPrincipale.LBChansonsKeyPress(Sender: TObject; var Key: Char);
var i : integer;
begin
if (key=Chr(VK_DELETE)) then
begin
showmessage('ok');
with LBChansons do
begin
for i := Count-1 downto 0 do
if selected[i] then
Items.Delete(i);
end;
end;
end;
(Le showmessage est là pour le test seulement et il ne s'affiche même pô...)
Donc à l'éxecution rien ne se passe lorsque je tape "suppr" et que j'ai séléctionné des items... Serai-ce un probléme de parent (puisque ma ListBox est sur une image), ou autre problème, je ne vois pô...
Merci de votre lumiére bibliquo-Delphiste en ce jour du seigneur, Amen
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 9 juin 2008 à 13:58
@cari: "touche Suppr est une touche non-ASCII." pourtant son code ASCII est 127 !
je pense pas que keypress ai un rapport avec l'ascii ou non, je pense que seules certaines touches sont prises en compte par le keypress. Par contre, je ne sais pas quel mecanisme fait qu'une touche est ou n'est pas gérée par le keypress.
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 9 juin 2008 à 14:52
@Guillemouze
Extraits de l'Aide :
« Le gestionnaire d'événement OnKeyPress permet d'effectuer un traitement spécifique quand une touche correspondant à un caractère alphanumérique est enfoncée. »
-
Or, il n'y a pas de caractère correspondant à la touche SUPPR (bien qu'elle ait un code).
« Le gestionnaire OnKeyDown peut répondre à toutes les touches du clavier, y compris les touches de fonction et les combinaisons avec les touches Maj, Alt et Ctrl ainsi qu'avec les boutons de la souris. »
Pour OnKeyPress, reste le mystère de la touche retour (#8) qui répond à l'événement bien qu'il n'y ait pas de caractère associé.
Il faut parfois savoir ne pas trop se poser de question.
Mais si qqun a une réponse à ce mystère...
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 9 juin 2008 à 18:56
@Guillemouze
« c'etait juste pour etre sur que les choses soient claires. »
Bein, t'as raté ton coup.
L'aide dit bien, je cite : « Pour répondre aux touches non-ASCII ou aux combinaisons de touches, utilisez le gestionnaire d'événement OnKeyDown ou OnKeyUp ».
Donc, d'après l'Aide, SUPPR ne serait pas une touche ASCII puisqu'elle ne déclenche pas d'événement OnKeyPress.
Mais je pense comme toi que l'Aide n'est pas très explicite et qu'elle n'a pas l'air d'en savoir beaucoup plus que nous sur ce coup.
@L_art_ment
T'as le sommeil trop léger pour Windows, je pense...
Guillemouze
Messages postés991Date d'inscriptionsamedi 25 octobre 2003StatutMembreDernière intervention29 août 20136 9 juin 2008 à 23:38
en tout cas, wikipedia nous informe clairement ici (comme le dit foxi de façon succincte), que la touche suppr correspond bien a un code ascii !
je pense plutôt que l'aide n'est pas très explicite; les touches non-ascii étant Alt, Ctrl, ...