Splitter avec handler

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 8 août 2013 à 09:04
blq Messages postés 97 Date d'inscription vendredi 22 octobre 1999 Statut Membre Dernière intervention 13 juin 2016 - 8 août 2013 à 20:47
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/100051-splitter-avec-handler

blq Messages postés 97 Date d'inscription vendredi 22 octobre 1999 Statut Membre Dernière intervention 13 juin 2016 1
8 août 2013 à 20:47
Pour améliorer le code et être certain de la bonne largeur, j'ajoute la ligne suivante :
If theSplitter.SplitterWidth <> 9 Then theSplitter.SplitterWidth = 9

Je pense que le If n'est pas utile et que la theSplitter.SplitterWidth = 9 suffit.

Et pour ceux intéressés par la position horizontale, il suffit de changer le .Y par .X :
RectLocation.X += (.Width - mImage.Width) / 2

Après quelques tests (surtout en Resize de la Form, aver un Splitter dont la valeur Dock = Fill), j'ai remarqué une disparition de l'image. Le Paint() ne serait donc pas systématiquement appelé...
Je n'ai pas cherché, mais en ajoutant le_name_du_splitter.Refresh() dans le Resize() de la Form ou du Splitter, le souci est réglé.
blq Messages postés 97 Date d'inscription vendredi 22 octobre 1999 Statut Membre Dernière intervention 13 juin 2016 1
8 août 2013 à 09:04
Simple et efficace, donc excellent !
Rejoignez-nous