コード例 #1
0
ファイル: ListViewSortIcons.cs プロジェクト: egold555/Comet
        public static void SetSortIcon(ListView listViewControl, int columnIndex, SortOrder order)
        {
            var hWnd = SendMessage(listViewControl.Handle, 0x101f, IntPtr.Zero, IntPtr.Zero);

            for (var i = 0; i <= (listViewControl.Columns.Count - 1); i++)
            {
                var wParam     = new IntPtr(i);
                var lPlvcolumn = new Lvcolumn {
                    mask = 4
                };
                SendMessageLVCOLUMN(hWnd, 0x120b, wParam, ref lPlvcolumn);
                if ((order != SortOrder.None) && (i == columnIndex))
                {
                    switch (order)
                    {
                    case SortOrder.Ascending:
                        lPlvcolumn.fmt &= -513;
                        lPlvcolumn.fmt |= 0x400;
                        goto Label_00DE;

                    case SortOrder.Descending:
                        lPlvcolumn.fmt &= -1025;
                        lPlvcolumn.fmt |= 0x200;
                        goto Label_00DE;
                    }
                }
                else
                {
                    lPlvcolumn.fmt &= -0x601;
                }
Label_00DE:
                SendMessageLVCOLUMN(hWnd, 0x120c, wParam, ref lPlvcolumn);
            }
        }
コード例 #2
0
ファイル: ListViewSortIcons.cs プロジェクト: jmcadams/vplus
        public static void SetSortIcon(ListView listViewControl, int columnIndex, SortOrder order)
        {
            var hWnd = SendMessage(listViewControl.Handle, 0x101f, IntPtr.Zero, IntPtr.Zero);
            for (var i = 0; i <= (listViewControl.Columns.Count - 1); i++)
            {
                var wParam = new IntPtr(i);
                var lPlvcolumn = new Lvcolumn {mask = 4};
                SendMessageLVCOLUMN(hWnd, 0x120b, wParam, ref lPlvcolumn);
                if ((order != SortOrder.None) && (i == columnIndex))
                {
                    switch (order)
                    {
                        case SortOrder.Ascending:
                            lPlvcolumn.fmt &= -513;
                            lPlvcolumn.fmt |= 0x400;
                            goto Label_00DE;

                        case SortOrder.Descending:
                            lPlvcolumn.fmt &= -1025;
                            lPlvcolumn.fmt |= 0x200;
                            goto Label_00DE;
                    }
                }
                else
                {
                    lPlvcolumn.fmt &= -0x601;
                }
                Label_00DE:
                SendMessageLVCOLUMN(hWnd, 0x120c, wParam, ref lPlvcolumn);
            }
        }
コード例 #3
0
ファイル: ListViewSortIcons.cs プロジェクト: egold555/Comet
 private static extern IntPtr SendMessageLVCOLUMN(IntPtr hWnd, int msg, IntPtr wParam, ref Lvcolumn lPlvcolumn);
コード例 #4
0
ファイル: ListViewSortIcons.cs プロジェクト: jmcadams/vplus
 private static extern IntPtr SendMessageLVCOLUMN(IntPtr hWnd, int msg, IntPtr wParam, ref Lvcolumn lPlvcolumn);