LVM_SORTITEMS

Обсуждения по программированию для ОС Windows безотносительно используемого языка программирования. Windows NT, Win32, Windows API, ядро и драйверы.
SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

LVM_SORTITEMS

Сообщение SLIM » 08.07.2010 (Чт) 6:37

Вопрос.
Делаю сортировку по столбцу ListView. Схема там такая - обрабатывается нотификация LVN_COLUMNCLICK где в стуктуру NMLISTVIEW попадает номер столбца. В обработчике шлется LVM_SORTITEMS, где в wparam передается номер столбца, а в lparam - callback-функция сортировки.
Эту функцию реализует сам программист, она имеет три параметра
LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort
В lParam1 попадает первый сравниваемый элемент, в lParam2 попадает второй, в lParamSort попадает номер столбца.
Получаем текст Item-а и сравниваем де строки.

И здесь вот интересно. Увидев что сортировка работает как-то не так попробовал отладить. И понял, что при первом клике по столбцу в lParam1 и в lParam2 попадают элемента примерно в следующем порядке
0-1
2-3
1-3
1-2
4-5
6-7

И т.д. Т.е. функции передаются item-ы попорядку и сравнивются все со всеми.
Сортировка проходит нормально.
Но вот если щелкнуть по столбцу второй раз, в lParam1 и в lParam2 попадают уже не значения по порядку.
Да и черт с ними бы. Какая разница как сравниваются то. Но вот видимо сравнение проходит не всех со всеми наверное, но сортировка не работает - видно другой результат, а третий раз - третий и т.д. Лист не сортирован.

Функция сравнения строк работает нормально - я проверял.


Почему такое может быть?
Пишите жизнь на чистовик.....переписать не удастся.....

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: LVM_SORTITEMS

Сообщение SLIM » 08.07.2010 (Чт) 20:02

Надо бы тему в раздел VB перенести. Помогите
Пишите жизнь на чистовик.....переписать не удастся.....

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Re: LVM_SORTITEMS

Сообщение SLIM » 08.07.2010 (Чт) 21:33

Проблема решена.
Можно прикрыть тему.
Всем спасибо за внимание.
Пишите жизнь на чистовик.....переписать не удастся.....


Вернуться в Windows-программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList