Edit box slider

thepat2 Messages postés 2 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 2 avril 2008 - 2 avril 2008 à 16:18
thepat2 Messages postés 2 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 2 avril 2008 - 2 avril 2008 à 18:55
Bonjour,

J ai une editbox et un slider. Lorsque la position du slider (HScroll) est changee l editbox prend la nouvelle valeur.
J aimerais maintenant que lorsque l'on change le contenu de l editbox, le slider se mette a la bonne position.
J ai essayer d utiliser un Hook pour recuperer l appuis de la touche entree et donc le fait que la valeur ai pu changee de l edit box.
La est mon probleme, pour faire ce hook, il est necessaire de passer par une fonction static or si je veux utiliser un getdlgitem il cree une erreur de compilation m'alertant que cette fonction n'est pas statique.!

Quelqu'un aurait une idee ?
Merci par avance.

2 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
2 avril 2008 à 17:21
Salut,
Tu peut gerer la notification EN_CHANGE comme ceci:
case WM_COMMAND:
if(HIWORD(wParam) == EN_CHANGE)
{
SendMessage(hSlideBar, TBM_SETPOS, ...
}
...

Neo_Fr
0
thepat2 Messages postés 2 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 2 avril 2008
2 avril 2008 à 18:55
Salut,

Finalement je me suis oriente vers ON_EN_UPDATE(IDC_EDITBOX, OnUpdate).
void OnUpdate()
{
TCHAR buf[512];
GetDlgItemText(IDC_EDITBOX,buf,sizeof( buf ) / sizeof(TCHAR));
pos=atoi(buf);
Slider->SetPos( pos );
....
}

Ca marche bien mais il passe dans la fonction a chaque fois que l'editbox recoit le focus.
Ce que tu me conseillais est je pense tres similaire.
Je te remercie pour ton attention. :)

Si par hasard tu connais un moyen qui permettrais d effectuer le traitement seulement au moment ou l'utilisateur a fini de remplir l'edit. Je suis preneur. ;)
0