A few more tips on customizing ListView
Last time I showed you on how to customize ListView control on WM 6.5 for .NET CF 3.5. Today I am going to show you a few more. They are all based on the same paradigm - changing an extended style of a ListView control. First one is to enable showing grid lines:
/// <summary>
/// Shows grid lines in the listview
/// </summary>
/// <param name="listView">ListView instance</param>
public static void ShowGridLines(this ListView listView)
{
// Retreive the current extended style
int currentStyle = SendMessage(listView.Handle,
(uint)LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
// Assign the LVS_EX_GRIDLINES style
SendMessage(listView.Handle, (uint)LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
currentStyle | LVS_EX_GRIDLINES);
}
And the second one is to enable double-buffering. This should reduce flickering when scrolling on changing the focus from one item to another:
/// <summary>
/// Enable double-buffering in the listview
/// </summary>
/// <param name="listView">ListView instance</param>
public static void EnableDoubleBuffering(this ListView listView)
{
// Retreive the current extended style
int currentStyle = SendMessage(listView.Handle,
(uint)LVM_GETEXTENDEDLISTVIEWSTYLE, 0, 0);
// Assign the LVS_EX_DOUBLEBUFFER style
SendMessage(listView.Handle, (uint)LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
currentStyle | LVS_EX_DOUBLEBUFFER);
}
Please find the updated ListViewExtender class in the attachments to this post.