begin process at 2012 05 29 18:53:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Pb : Slider Control MFC (fonction SetTic && fonction SetPos)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

mercredi 4 février 2009 à 10:40:49 | Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

romain60112

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.

Mon code est le suivant :

void CControlDlg::OnNMCustomdrawControldata(NMHDR *pNMHDR, LRESULT *pResult)

    LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
   CSliderCtrl *pSlider=static_cast<CSliderCtrl *>(GetDlgItem(IDC_CONTROLDATA));

    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;

}

Où se situe mon problème?
Merci de votre aide

Romain

Config : XP Pro sp3 / Visual Studio 2005

mercredi 4 février 2009 à 10:54:10 | Re : Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

buno

Administrateur CodeS-SourceS
Hello,
Il faut utiliser InitCommonControls() avant la création de ta dialog

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 4 février 2009 à 11:37:46 | Re : Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

romain60112

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?

Romain

mercredi 4 février 2009 à 11:58:05 | Re : Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

buno

Administrateur CodeS-SourceS
As-tu besoin de la fonction SetTic()? Perso, je ne l'ai jamais utilisé, le SetPos() suffit

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mercredi 4 février 2009 à 12:11:55 | Re : Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

romain60112

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

mercredi 4 février 2009 à 14:24:40 | Re : Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

buno

Administrateur CodeS-SourceS
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...
mercredi 4 février 2009 à 14:43:05 | Re : Pb : Slider Control MFC (fonction SetTic && fonction SetPos)

romain60112

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 :

BOOL CControlDlg::OnInitDialog()
{
  CDialog::OnInitDialog();
  SetIcon(m_hIcon, TRUE);
// Set big icon
  SetIcon(m_hIcon, FALSE); // Set small icon
  CSliderCtrl *pSlider= static_cast <CSliderCtrl *>(GetDlgItem(IDC_CONTROLDATA));
  pSlider->SetRange(0,1279);
// Slider de 1280 pts
  pSlider->SetPos(640);
  pSlider->SetTic(640);
 
return TRUE; // return TRUE unless you set the focus to a control
}
.......................
void CControlDlg::OnNMCustomdrawControldata(NMHDR *pNMHDR, LRESULT *pResult)

{  LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);
    CSliderCtrl *pSlider=
static_cast<CSliderCtrl *>(GetDlgItem(IDC_CONTROLDATA)); 
 
  int n = pSlider->GetPos();
  
*pResult = 0;
}


Merci buno de m'avoir éclairé !

A bientôt....

Romain
 



Cette discussion est classée dans : fonction, slider, pslider, settic, setpos


Répondre à ce message

Sujets en rapport avec ce message

Slider... [ par dbiare ] Bonjour, Sous Visual C++6, dans une boite de dialogue, j’utilise un slider. J’arrive à gérer les variables dépendantes de ce contrôle, mais j’aimerais La fonction LibMain ? [ par tintin72 ] Bonjour,J'aimerais savoir à quoi sert exactement la fonction LibMain.En effet, j' apprends en ce moment à programmer des dll et, dans les tutos que j' Petite question à propos de calloc. [ par heyhi ] Bonjour tout le monde. J'ai juste une petite question à propos de la fonction calloc. Cette fonction existait déjà dans la lib standard du C, et j'ai glutDisplayFunc [ par mimie_istase ] Salut à tous, J'ai un petit projet à faire en OpenGL un truc tout bête, mais j'ai un petit soucis avec la fonction bidule chouette citée dans le suje probleme de slider [ par shadow1779 ] Bonjour,pour mon mp3 je me suis fais un slider pour fais l'avancement de la position, j'ai donc dans mon WM_INITDIALOG ceci://initialisation de la pos Probleme avec slider [ par shadow1779 ] Bonjour, suite a mon ancien post je poste ma source complete si quelqu'un veut regarder, cela concerne un peu fmod mais bon le probleme n'y est pas du Fonction _chdir () c++ [ par Sn00bino_roi_du_petrol ] Bonjour,Je realise un programme qui consiste a lister les fichiers du repertoire que je veux.Mais je n' arrive pas a imposer ma volonté:si je tape:c:\ communication port serie [ par dushit ] bonjour,  mon probleme est le suivant: je doit envoyer des trames de bit a une camera via le port serie et recevoir les trames en reponse qui contend Espionner une dll pour récupérer un flot de données [ par gorets ] J'ai un programme qui utilise une fonction placée dans une dll. cette dll redirige par une fonction un flux de donnée vers le port parallèle (ou série Pointeur sur fonction ? [ par tintin72 ] Bonjour, J'ai un petit souci avec les pointeurs sur fonction. Voilà, j'ai une fonction qui prend comme argument un pointeur sur fonction: void maFonct


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales