Ensias
Messages postés31Date d'inscriptionmercredi 21 juillet 2004StatutMembreDernière intervention15 décembre 2006
-
8 août 2005 à 21:02
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 2010
-
9 août 2005 à 04:15
Salut , je voudrais savoir si un bouton peut envoyer une notification BN_DOUBLECLICKED sans envoyer une notification BN_CLICKED.
Si ou comment faire merci.
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 9 août 2005 à 04:15
Je pense que c'est pas le pb: il veut faire une action pour le clic, et une autre pour le double clic, le pb c'est que l'action du clic sera faite aussi pour un double clic, puisque BN_CLICKED est recu aussi dans le cas du double clic
Si tu connais le delai maximum entre 2 clics pour que ca fasse un double clic (SystemParametersInfo je pense), tu peux faire cela en utilisant un timer:
case WM_COMMAND:
switch(HIWORD(wParam))
{
case BN_CLICKED:
SetTimer(hWnd, 1, temps_max_entre_2_clics, 0);
break;
case BN_DOUBLECLICKED:
KillTimer(hWnd, 1);
// double clic
break;
}
break;
case WM_TIMER:
if(wParam == 1)
{
KillTimer(hWnd, 1);
// clic
}
break;
Le pb c'est qu'il y aura un delai avant que le clic soit géré, mais c'est inévitable ca avant ca on ne peut pas savoir si ca sera un clic ou un double clic
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 8 août 2005 à 22:20
eh bien tu testes, mets juste par exemple un MessageBeep(0) pour l'un et une MessageBox pour l'autre, tu sauras si te convient.
Pour cela tu mets le style BS_NOTIFY au bouton et tu captes le BN_DOUBLECLICKED dans WM_COMMAND.