Masquer proprement les scrollbars d'un contrôle

fregolo52 Messages postés 1114 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 4 avril 2006 à 10:22
motardazerty Messages postés 37 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 4 novembre 2010 - 20 mai 2010 à 10:08
Bonjour,

Je veux remplacer les scroll des contrôles par des boutons de défilement personnalisés.
J'attaque les fonctions API (SetScrollPos, ShowScrollBar ...) et quand je cache les scroll dès que je clique sur un bouton qui fait le scroll les barres réapparaisse, j'ai donc utilisé l'événement: OnLayout :
j'ai ce code :

Pour faire un scroll :
SendMessage(this.Handle, (uint)WM_HSCROLL, (System.UIntPtr)param, (System.IntPtr)0);
Avec param de 0 à 8 suivant si je veux incrément, aller au bout ....

Pour masque à chaque action le scroll :
protected override void OnLayout(LayoutEventArgs levent)
{
base.OnLayout(levent);
ShowScrollBar(this.Handle, (int)SB_HORZ, VisibleAutoScrollHorizontal);
ShowScrollBar(this.Handle, (int)SB_VERT, VisibleAutoScrollVertical);
}

Ca marche bien avec la listview, mais avec le panel je vois flasher les scrollbars, quelqu'un a une solution plus eficace ?

Merci

1 réponse

motardazerty Messages postés 37 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 4 novembre 2010
20 mai 2010 à 10:08
Bonjour,

je sais que ton post date un peu mais j'aimerais savoir comment tu a fais avec le OnLayout??? Où l'a tu définis dans ton ListView?

Merci
Cordialement
0
Rejoignez-nous