![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Nikonik |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.3.2007 Репутация: нет Всего: нет |
Подскажите, что я делаю не так.
Моя программа создает SysListView32 многоколонный, и я хочу его отсортировать. Нужно сказать для меня вообще стало удивлением, что сортировка не заложена в этот элемент фундаментально. Ну ладно - полез в интернет, разобрался как идёт перехват клика по колонке, как вызывается функция сортировки, собственно осталась лишь одна проблема - не сортирует. В Google::Codesearch я нашел наверное вариантов 30 функции.. где-то напрямую обращаются к lParam, где-то их приводят.. попробовал наверное все- всё бестолку. Вот так я создаю SysListView32:
Так перехватываю клик (судя по отладке номер колонки передаётся верно)
А вот функция сравнения (одна из последних вариаций):
И не сортирует :( Пользуясь случаем задам второй вопрос - у кого есть пример прицепления всплывающих подсказок в SysListView32? Google по запросу ListView_SetToolTips выдаёт аж 0 результатов на русском языке, да и на английском довольно бедно. В MSDN едва ли десяток строчек. Не могу понять даже само ядро - где задается массив строк для подсказок, или массив подсказок для строк... Присоединённый файл ( Кол-во скачиваний: 3 )
lvtest.zip 2,37 Kb |
||||||
|
|||||||
| Stranger2048 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 21.12.2007 Репутация: нет Всего: нет |
strcmp не сортировать не может... Ты для начала объясни почему ты пишешь lvi.pszText = &szBuff0, вместо хотя бы lvi.pszText = szBuff0? Массив он сам по себе адрес, зачем ещё адрес от адреса брать?.. А по хорошему выдели память: lvi.pszText = (LPTSTR)calloc(Length, sizeof(_TCHAR)), а потом её кикнешь.
|
|||
|
||||
| Nikonik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 21.3.2007 Репутация: нет Всего: нет |
Потому что так делают в примере ListView из /masm32/examples - последний источник (из большого множества) по которому я пытался сделать функцию.
strcmp как бы сортировать и не должен тут проблема в получении значений - я по отладке не могу по lParam1 и lParam2 правильно добыть две строки для сравнения попробовал динамическое выделение памяти - ну то же самое получается если я добавляю
после получения значений - то получаю что постоянно сравниваются первые строки (сами с собой) P.S. Модераторам - sorry, за клон темы.. его грохнуть надо: долго не мог отправить сообщение.. в итоге походу два ушло. Это сообщение отредактировал(а) Nikonik - 24.12.2007, 18:17 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Действительно, заглянул бы отладчиком в функцию, посмотрел переменные, глядишь и сообразил бы, что не так.
-------------------- ... |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |