OVH Cloud OVH Cloud

ScrollableControl + scrollbar??

5 réponses
Avatar
Sylvain
Bonjour à la communauté, j'ai développé un contrôle dérivé de
ScrollableControl, pensant que la gestion des scrollbar serait facile, je
travaille avec des objets graphiques, donc il faut que je gère les scrollbar
manuellement. Dans le OnPaint de mon contrôle dérivé de ScrollableControl,
j'appelle les OnPaint de chaque objet, ça fonctionne très bien, sauf quand je
bouge un objet et que j'arrive à la limite de mon contrôle, il faut faire
aparaitre les scrollbars, que mon canvas agrandisse.., j'aimerais avoir un
comportement comme Visio, quelqu'un aurait-il un bon exemple qui démontre
comment gèrer les scrollbars avec des objets graphiques. Merci à l'avance si
cette exemple existe car je bute.. depuis quelques jours à cette exercise..
Merci..

5 réponses

Avatar
Paul Bacelar
"Sylvain" wrote in message
news:
Bonjour à la communauté, j'ai développé un contrôle dérivé de
ScrollableControl, pensant que la gestion des scrollbar serait facile, je
travaille avec des objets graphiques, donc il faut que je gère les
scrollbar
manuellement. Dans le OnPaint de mon contrôle dérivé de ScrollableControl,
j'appelle les OnPaint de chaque objet, ça fonctionne très bien, sauf quand
je
bouge un objet et que j'arrive à la limite de mon contrôle, il faut faire
aparaitre les scrollbars, que mon canvas agrandisse.., j'aimerais avoir un



Pourquoi ne pas utiliser un Panel plutôt qu'un ScrollableControl ?

comportement comme Visio, quelqu'un aurait-il un bon exemple qui démontre
comment gèrer les scrollbars avec des objets graphiques. Merci à l'avance
si
cette exemple existe car je bute.. depuis quelques jours à cette
exercise..
Merci..



Si vous avez un visio sous la main, utilisez Spy++ (fourni avec VS) pour
connaître les messages envoyés au différentes fenêtres (scrollbar
comprises).

--
Paul Bacelar
MVP VC++
Avatar
Sébastien FERRAND
Bonjour Sylvain,

En général, il suffit de changer la propriété AutoScrollPosition pour que
les scrollbars s'affichent.

---
Sébastien FERRAND [MVP C#]
http://blogs.developpeur.org/sebmafate
msnim:

Bonjour à la communauté, j'ai développé un contrôle dérivé de
ScrollableControl, pensant que la gestion des scrollbar serait facile,
je travaille avec des objets graphiques, donc il faut que je gère les
scrollbar manuellement. Dans le OnPaint de mon contrôle dérivé de
ScrollableControl, j'appelle les OnPaint de chaque objet, ça
fonctionne très bien, sauf quand je bouge un objet et que j'arrive à
la limite de mon contrôle, il faut faire aparaitre les scrollbars, que
mon canvas agrandisse.., j'aimerais avoir un comportement comme Visio,
quelqu'un aurait-il un bon exemple qui démontre comment gèrer les
scrollbars avec des objets graphiques. Merci à l'avance si cette
exemple existe car je bute.. depuis quelques jours à cette exercise..
Merci..



Avatar
Sylvain
Merci pour l'info, quel serait mon avantage à utiliser un panel, étant donné
que je travaille avec des objets graphiques, les scrollbars ne seraient pas
automatique il me semble?
Merci à vous.

"Paul Bacelar" a écrit :

"Sylvain" wrote in message
news:
> Bonjour à la communauté, j'ai développé un contrôle dérivé de
> ScrollableControl, pensant que la gestion des scrollbar serait facile, je
> travaille avec des objets graphiques, donc il faut que je gère les
> scrollbar
> manuellement. Dans le OnPaint de mon contrôle dérivé de ScrollableControl,
> j'appelle les OnPaint de chaque objet, ça fonctionne très bien, sauf quand
> je
> bouge un objet et que j'arrive à la limite de mon contrôle, il faut faire
> aparaitre les scrollbars, que mon canvas agrandisse.., j'aimerais avoir un

Pourquoi ne pas utiliser un Panel plutôt qu'un ScrollableControl ?

> comportement comme Visio, quelqu'un aurait-il un bon exemple qui démontre
> comment gèrer les scrollbars avec des objets graphiques. Merci à l'avance
> si
> cette exemple existe car je bute.. depuis quelques jours à cette
> exercise..
> Merci..

Si vous avez un visio sous la main, utilisez Spy++ (fourni avec VS) pour
connaître les messages envoyés au différentes fenêtres (scrollbar
comprises).

--
Paul Bacelar
MVP VC++





Avatar
Sylvain
Effectivement je travaille au niveau de la propriété AutoScrollPosition, mais
effectivement peut-être pas assez, il faudrait sûrement que je modifie
AutoScrollPosition, merci pour la piste.


"Sébastien FERRAND" a écrit :

Bonjour Sylvain,

En général, il suffit de changer la propriété AutoScrollPosition pour que
les scrollbars s'affichent.

---
Sébastien FERRAND [MVP C#]
http://blogs.developpeur.org/sebmafate
msnim:

> Bonjour à la communauté, j'ai développé un contrôle dérivé de
> ScrollableControl, pensant que la gestion des scrollbar serait facile,
> je travaille avec des objets graphiques, donc il faut que je gère les
> scrollbar manuellement. Dans le OnPaint de mon contrôle dérivé de
> ScrollableControl, j'appelle les OnPaint de chaque objet, ça
> fonctionne très bien, sauf quand je bouge un objet et que j'arrive à
> la limite de mon contrôle, il faut faire aparaitre les scrollbars, que
> mon canvas agrandisse.., j'aimerais avoir un comportement comme Visio,
> quelqu'un aurait-il un bon exemple qui démontre comment gèrer les
> scrollbars avec des objets graphiques. Merci à l'avance si cette
> exemple existe car je bute.. depuis quelques jours à cette exercise..
> Merci..
>





Avatar
Cyrille Szymanski
"Paul Bacelar" wrote in
news::

Si vous avez un visio sous la main, utilisez Spy++ (fourni avec VS)
pour connaître les messages envoyés au différentes fenêtres (scrollbar
comprises).



Cela ne serait-il pas du reverse engineering par hasard ? L'argument des 5
ans tient-il ?

;-)

--
Cyrille Szymanski