Les Boutons

Résolu
Ensias Messages postés 31 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 décembre 2006 - 8 août 2005 à 21:02
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 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.

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
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
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 août 2005 à 21:16
m'étonnerait, traite l'un ou l'autre.

ciao...
BruNews, MVP VC++
0
Ensias Messages postés 31 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 15 décembre 2006
8 août 2005 à 22:09
Oui mais si on veut traiter les deux comment faire.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 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.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous