Pb : Slider Control MFC (fonction SetTic && fonction SetPos)
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 2013
-
4 févr. 2009 à 10:40
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 2013
-
4 févr. 2009 à 14:43
Bonjour a tous,
J'ai un petit souci concernant un slider control voici mon problème :
Quand je souhaite mettre des Tic sur un slider, je compile (aucune erreur lors de la compilation) mais lorsque j'exécute mon programme le slider n'apparait pas !
De plus quand je donne une position au slider même chose, il n'apparait pas.
J'ai essayé pas mal de fonction relative a Slider et a chaque fois le même résultat.
En revanche lorsque je n’utilise pas les fonctions SetTic & SetPos tout fonctionne normalement…
pSlider->SetRange(0,1279); // Définit la plage du slider
pSlider->SetPos(640); // Met le curseur en position centrale
pSlider->SetTic(640); // Met un Tic au centre
int n = pSlider->GetPos(); // Récup la position du slider
*pResult = 0;
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 20131 4 févr. 2009 à 11:37
Merci de la solution proposé !
Je place l' InitCommonControls() avant la création de la boite de diag mais cela ne résoud pas le problème.
Je viens de voir que quand je fixe une position (ex : 640 la moitié) le slider le prend bien en compte c'est a dire que c'est uniquement l'affichage qui bug.
ps : j'ai bien vérifié les propriétés de mon slider tout est Ok !
Avez vous d'autres solutions envisagable pour résoudre mon problème?
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 20131 4 févr. 2009 à 12:11
Oui j'ai besoin du SetTic, il met (logiquement quand sa marche) des petits traits qui te servent de repères.
J'ai enlevé le SetTic pour voir si c'était lui qui bugé mais non toujours le même problème.
Romain
Vous n’avez pas trouvé la réponse que vous recherchez ?
BunoCS
Messages postés15476Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention 3 mai 2024103 4 févr. 2009 à 14:24
Ben je viens de tester chez moi, ça fonctionne...
Dans les propriétés de mon Slider, j'ai mis "Tic Marks" à True, c'est tout ce que j'ai fait de "spécial"
Peut-être qu'ailleurs dans ton code, tu ré-initialise la position de ton slider...
@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
romain60112
Messages postés70Date d'inscriptionmercredi 1 octobre 2008StatutMembreDernière intervention17 avril 20131 4 févr. 2009 à 14:43
J'ai trouvé mon erreur la voici :
En faisant pSlider->SetPos(640); dans ma fonction OnNMCustomdrawControldata(....); je redéfinit a chaque passage le range du control bar, du SetPos et du Set Tic !
Pour éviter cela j'ai définit mon pointeur pSlider en global et ensuite je l'initialise qu'une seul fois dans l'init dialog.
Voici ce que cela donne :