magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011
-
20 nov. 2004 à 12:25
magic_Nono
Messages postés1878Date d'inscriptionjeudi 16 octobre 2003StatutMembreDernière intervention16 mars 2011
-
22 nov. 2004 à 09:51
J'ai remarqué un comportement curieux:
Pour récupérer un changement sur un objet de type CSliderCtrl
parmi les 3 évennement proposé, je récupère celui de changement a savoir NM_RELEASEDCAPTURE
et lance alors la mise à jour de la fenetre
le truc, c'est qu'avec les flèches haut, bas, G,D,PgDn..Home...
le controle est bien géré mais l'évenement de mise à jour n'est pas récupéré.
pour les fanas Win32 :
NM_RELEASEDCAPTURE, IDC_SLIDER, OnReleasedcaptureSlider1
tout ceci est très bien avec la souris , mais pour le clavier....
Je pensais faire un mode dégradé en enlevant la propriété tabStop du controle.
mais ça ne suffit pas car le controle garde le focus une fois qu'on a cliqué dessus
ok, on pourrait placer le focus ailleurs, mais c'est pas vraiement une soluce, plutot une fuite.
Que proposez vous pour résoudre ce pb? (gérer les msg du controle???)
J'ai ce pb avec un prj MFC VC6
++
Magic Nono: l'informagicien! 8-)
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 20 nov. 2004 à 20:20
"Notifies a trackbar control's parent window that the control is releasing mouse capture"
C'est normal que tu ne recoive que le message avec la souris.
Pour récupérer un changement fait avec le clavier, il faudra sans doute sous-classer le Slider (appelé aussi Trackbar apparemment).
Si j'ai bien compris, tu voudrais empêcher l'utilisation du clavier pour modifier... je pense aussi que ce n'est pas une bonne solution.