Что нового

Сортировка колонок в GuiListView

Атос

Новичок
Сообщения
85
Репутация
0
Привет.
А что, разве невозможно сделать так, чтобы при клике по названию колонки,
производилась сортировка выбранного столбца?

Код:
_GUICtrlListView_AddColumn, GUICtrlCreateListView


Код:
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>

$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $hImage, $hListView

    ; Создаёт GUI
    GUICreate("ListView - Добавление колонки", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)

    ; Использовать расширенные стили элемента
    _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
    GUISetState()

    ; Загружает изображения
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

    ; Добавляет колонки
    _GUICtrlListView_AddColumn($hListView, "Колонка 1", 120)
    _GUICtrlListView_AddColumn($hListView, "Колонка 2", 120)
    _GUICtrlListView_AddColumn($hListView, "Колонка 3", 120)

    ; Добавляет пункты
    _GUICtrlListView_AddItem($hListView, "Стр 1: Кол 1", 0)
    _GUICtrlListView_AddSubItem($hListView, 0, "Стр 1: Кол 2", 1, 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "Стр 1: Кол 3", 2, 2)
    _GUICtrlListView_AddItem($hListView, "Стр 2: Кол 1", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "Стр 2: Кол 2", 1, 2)
    _GUICtrlListView_AddItem($hListView, "Стр 3: Кол 1", 2)

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main
 

ra4o

AutoIT Гуру
Сообщения
1,165
Репутация
246
Возможно, Более того в примере к функции это реализовано.
Код:
#include <GuiListView.au3>
_GUICtrlListView_SimpleSort($hWnd, ByRef $vDescending, $iCol)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
Код:
_GUICtrlListView_SimpleSort
_GUICtrlListView_SortItems
_GUICtrlListView_RegisterSortCallBack
 
Верх