[Visual Studio 2008] ListView avec ShowScrollBar => Problème ligne Default
Bonjour, en voulant utiliser pour une listView le ShowScrollBar je me trouve confronté à un nouveau problème que vous connaissez peut-être : apparition d'une ligne avec indiqué Default. Ci-dessous une capture écran et le code correspondant.
En cherchant un peu, j'ai trouvé une propriété qui correspondrait peut être à cela (AccessibleRole) et que j'ai mis bien sûr à None. Mais voilà, en passant par le ShowScrollBar, est-ce qu'il ne le remet pas sur Default ? Il se peut aussi que ce soit une autre propriété, je suis ouvert à toute suggestion.
L'idéal serait de me donnner la solution pour le ShowScrollBar, avec le bon paramètre à mettre pour que cela ne s'affiche plus.
http://free.men.free.fr/Captures/listView.jpg
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| [DllImport("user32.dll")]
static public extern bool ShowScrollBar(System.IntPtr hWnd, int wBar, bool bShow);
[DllImport("user32.dll")]
static public extern bool EnableScrollBar(System.IntPtr hWnd, uint wSBflags, uint wArrows);
[DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, UIntPtr wParam, IntPtr lParam);
private const uint SB_VERT = 1;
private const uint ESB_DISABLE_BOTH = 0x3;
private const uint ESB_ENABLE_BOTH = 0x0;
private const int WM_VSCROLL = 0x115; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| // Affichage
listSources.Columns.Add("Nom", listSources.Width - 4);
listSources.Columns.Add("Dossier", 0);
listSources.HeaderStyle = ColumnHeaderStyle.None;
listSources.Scrollable = false; // Masque Horizontale et Verticale
// Et affiche maintenant seulement la Verticale
int itemsCount = listSources.Items.Count;
int itemHeight = listSources.Items[0].Bounds.Height;
int VisiableItem = (int)listSources.ClientRectangle.Height / itemHeight;
if (itemsCount >= VisiableItem)
{
ShowScrollBar(listSources.Handle, (Int32)SB_VERT, true);
} |
Merci par avance !