Je me fait un nouveau contrôle ocx avec ma propre barre de défilement, je sais comment la créer et la faire réagir, mais quelques détails m'échappe, par exemple comment on calcule la grosseur de la barre de scroll ? Normalement elle est de la grosseur du nombre d'éléments affichés / le nombre d'éléments de la liste, mais comment calculer son redismensionnement en pixel ? Car si je considère que j'enlève un pixel par élément ajouté dépassant le nombre d'éléments affichable, un moment donné j'aurai pu de pixel à enlever. Par exemple:
scrollbar de 100 pixels (hauteur maximale, donc impossible de scroller puisque la barre est de la même hauteur que l'espace de défilement)
Éléments affichage à la fois dans la listbox: 5 Si j'ajoute un élément dans la listbox j'enlève 1 pixe, et ainsi de suite quand j'en ajouter au fur et à mesure, donc je ne pourrais pas enlever plus que 100 pixels et rendu à ce point là ma scrollbar va disparaitre.
Et quand on drag la barre pour défiler la liste, comment calculer quelles items on doit afficher en fonction de la position du drag&drop ?
Marsh Posté le 29-09-2005 à 19:36:07
Je me fait un nouveau contrôle ocx avec ma propre barre de défilement, je sais comment la créer et la faire réagir, mais quelques détails m'échappe, par exemple comment on calcule la grosseur de la barre de scroll ? Normalement elle est de la grosseur du nombre d'éléments affichés / le nombre d'éléments de la liste, mais comment calculer son redismensionnement en pixel ? Car si je considère que j'enlève un pixel par élément ajouté dépassant le nombre d'éléments affichable, un moment donné j'aurai pu de pixel à enlever. Par exemple:
scrollbar de 100 pixels (hauteur maximale, donc impossible de scroller puisque la barre est de la même hauteur que l'espace de défilement)
Éléments affichage à la fois dans la listbox: 5
Si j'ajoute un élément dans la listbox j'enlève 1 pixe, et ainsi de suite quand j'en ajouter au fur et à mesure, donc je ne pourrais pas enlever plus que 100 pixels et rendu à ce point là ma scrollbar va disparaitre.
Et quand on drag la barre pour défiler la liste, comment calculer quelles items on doit afficher en fonction de la position du drag&drop ?