Probleme avec scrollbar MFC

chriscrepin1 Messages postés 13 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 4 août 2004 - 2 août 2004 à 11:57
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006 - 1 août 2005 à 23:54
j'ai cree une boite de dialogue avec dans le style scrollbar vertical
le scrollbar descend mais le contenu de ma fenetre ne bouge pas

voila mon code :
void CPARAMETERDlg1::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{

int ntemp1, ntemp2;
m_parameter_scrollbar->SetScrollRange(nMin,nMax,TRUE);
ntemp1=m_parameter_scrollbar->GetScrollPos();

switch(nSBCode)
{

case SB_THUMBTRACK :
m_parameter_scrollbar->SetScrollPos(nPos,TRUE);
break;

case SB_LINEUP :
ntemp2=(nMax-nMin)/10;
if ((ntemp1 - ntemp2)>nMin)
{
ntemp1 -= ntemp2;
}
else
{
ntemp1=nMin;
}
m_parameter_scrollbar->SetScrollPos(ntemp1,TRUE);
break;

case SB_LINEDOWN :
ntemp2=(nMax-nMin)/10;
if ((ntemp1 + ntemp2)<nMax)
{
ntemp1 += ntemp2;
}
else
{
ntemp1=nMax;
}
m_parameter_scrollbar->SetScrollPos(ntemp1,TRUE);
break;
}
UpdateData(false);
CDialog::OnVScroll(nSBCode, nPos, m_parameter_scrollbar);

pour l'initialisation je suppose qu'il faut retrouver l'objet scrollbar
en utilisant getScrollBarCtrl

merci d'avance pour l'aide

5 réponses

chriscrepin1 Messages postés 13 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 4 août 2004
2 août 2004 à 12:50
le probleme c'est que quand je fais ca le getScrollBarCtrl
ne mle retourne pas d'objet scroolbar
0
victorcoasne Messages postés 1101 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 23 juillet 2023 7
2 août 2004 à 13:36
pour les codes il faut mettre entre crochers "code" (sans les guillemets) , mettre le code et finir par entre crochets"/code" (sans les guillemets)

Pour ce qui est de la scrollbar je n'utilise pas les MFC vu que je suis sous Dev-C++ et je ne créé pratiquement jamais de boîte de dialogue mais je préfère les fenêtres

Vous voulez des RPG gratuits allez sur http://jeux.jscv.com !!!

Le créateur du site http://www.jscv.com
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
1 août 2005 à 23:40
j'ai le meme problème que toi, si tu trouve la solution peut tu me dire comment? Merci
0
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
1 août 2005 à 23:54
bon j'ai trouvé sur un autre forum, il suffit de rajouter après le switch la fonction ScrollWindow(....)



@+

Mick
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_obby Messages postés 91 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 12 octobre 2006
1 août 2005 à 23:54
void CDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{



int min_position=0,max_position;

max_position=206;



this->GetScrollRange (SB_VERT,&min_position, &max_position);

int m_position = this->GetScrollPos (SB_VERT);


//pScrollBar->GetScrollRange ( &min_position, &max_position
);

//int m_position=pScrollBar->GetScrollPos();

int position = m_position;



switch (nSBCode)

{



case SB_LINEUP :

m_position=m_position-1;

this->SetScrollPos(SB_VERT,m_position,TRUE);

break;



case SB_LINEDOWN :

m_position=m_position+1;

this->SetScrollPos(SB_VERT,m_position,TRUE);

break;



case SB_THUMBTRACK :

this->SetScrollPos(SB_VERT,nPos,TRUE);

break;



case SB_PAGEDOWN: //Scrolls one page down.

m_position += 5;

this->SetScrollPos(SB_VERT,m_position,TRUE);

break;

case SB_PAGEUP: //Scrolls one page up.

m_position -= 5;

this->SetScrollPos(SB_VERT,m_position,TRUE);



break;



case SB_THUMBPOSITION: //The user has dragged the scroll box (thumb)
and released the mouse button. The nPos parameter indicates the
position of the scroll box at the end of the drag operation.

break;





case SB_TOP: //Scrolls to the upper left.

break;

} // Set the new position of the thumb (scroll box).



ScrollWindow(0,-(m_position-position));

UpdateData(true);



CDialogBar::OnVScroll(nSBCode, nPos, pScrollBar);

}
0
Rejoignez-nous