cs_ringo44
Messages postés65Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention20 mai 2009
-
20 avril 2009 à 16:52
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 2014
-
4 mai 2009 à 10:36
Bonjour, voici mon problème je dispose de plusieurs sliders sur une même fenêtre disposés les uns en dessous des autres qui représentent des plages horaires. Lorsque l'on bouge l'un des curseurs d'un slider il est évident qu'il ne pourra pas être placé avant le curseur le précédant (car heure plus tardive). Je voulais savoir comment il était possible de gérer cela, de récupérer la valeur de chaque slider et savoir lequel a été bougé si jamais on se trompe en les bougeant ?Merci.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 28 avril 2009 à 15:23
Bin je ne vois pas comment être plus clair que ce que j'ai déjà écrit... C'est un test d'égalité entre deux hwnd, l'un provenant du tableau que tu as rempli avec les hwnd de tes sliders, l'autre passé en paramètre à ta fonction dans une structure. Si les deux handles sont les mêmes, c'est que tu as trouvé le slider.
Du moins si j'ai bien compris le "A window handle to the control sending the message.".
(*pSliderCtrl[j]).SetWindowPos(&m_OK,120,10+(j*20),175,20,SWP_NOZORDER);
(*pSliderCtrl[j]).SetRange(0,heure_max-heure_min+60);
(*pSliderCtrl[j]).SetPos(heure_coupure[j]-heure_min+30); //retrait de chq slider pour les différencier
if ((*pSliderCtrl[j]).m_Heure = = pWndHeure->hwndFrom);
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 28 avril 2009 à 16:56
Tu essais de connaître le slider survolé juste après leurs créations ?
Coder de manière aléatoire ne te donnera que des résultats aléatoire. Réfléchis. Imagine ce que tu veux faire globalement, et traduis tout ça en ligne de code.
Coder, ce n'est pas tout à fait faire des copier coller de codes trouvés sur le web et assemblés les uns derrière les autres.
cs_ringo44
Messages postés65Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention20 mai 2009 29 avril 2009 à 11:03
Et c'est après ce code :
(*pString[j]).Format("%02d:%02d",heure_coupure[j]/60,heure_coupure[j]%60); pWndHeure[j] = new CWnd;
pWndHeure[j]->Create(_T("STATIC"), *pString[j], WS_CHILD | WS_VISIBLE,
CRect(300, 10+j*20, 380, 30+j*20), this, 1234);
que je dois mettre : if ((*pSliderCtrl[j]).m_hWnd == pNMHDR->hwndFrom) car c'est après le code précédent que l'on change de slider.Merci.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 29 avril 2009 à 14:43
Je ne comprend vraiment pas ce qui te bloque...
function OnToolTipNotify(notifyinfo)
pour i de 0 à nombre_slider faire
si sliders[i] == notifyinfo->hwndFrom alors
text_info_bulle = sliders[i].getPos();
break;
fsi;
fait;
si notifyinfo->ansi alors
Copy(notifyinfo->szText, text_info_bulle);
sinon
MbcsToUnicode(notifyinfo->szText, text_info_bulle);
fsi;
fin;
cs_ringo44
Messages postés65Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention20 mai 2009 29 avril 2009 à 15:42
Ayé merci j'arrive à faire défiler les heures avec mes curseurs, il me reste l'actualisation des valeurs (cases static) en même temps que le déplacement des curseurs.
cs_ringo44
Messages postés65Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention20 mai 2009 30 avril 2009 à 16:19
Merci mais savez-vous pourquoi j'obtiens ce message d'erreur lors de la compilation?Merci
C:\Dlg_Demo_Slider.cpp(398) : error C2511: 'OnCtlColor' : overloaded member function 'struct HBRUSH__ *(class CDC *,class CWnd *,unsigned int)' not found in 'CDlg_Demo_Slider'
cs_ringo44
Messages postés65Date d'inscriptionjeudi 16 avril 2009StatutMembreDernière intervention20 mai 2009 4 mai 2009 à 10:28
Bonjour je n'arrive pas à utiliser SetColor pour changer la couleur de chaque curseur, lorsque je compile j'ai le message d'erreur suivant, quelqu'un sait-il pourquoi et comment enlever cette erreur?
Merci.
C:\Exemple de sliders\SliderMultiple\Dlg_Demo_Slider.cpp(204) : error C2039: 'SetColor' : is not a member of 'CSliderCtrl'
c:\program files\microsoft visual studio\vc98\mfc\include\afxcmn.h(426) : see declaration of 'CSliderCtrl'