![]() |
|
![]() ![]() ![]() |
|
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Часто встречается такая фишка: рядом с названием одной из колонок CListCtrl ( стиль report ) есть небольшой треугольник. Нажатие на хидер устанавливает сортировку списка по этому полю, повторное нажатие меняет направление сортировки. Ну вы поняли о чем я. Как это сделать? Есть стандартные функции или нужно ловить событие нажатия на заголовок и писать свою функцию сортировки? Может есть у кого пример кода?
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Кое-что нашел в rsdn... Но остается два вопроса. Как узнать, на хидер какого столбца нажали? И как вывести треугольник?
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
Lion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.3.2002 Репутация: 2 Всего: 2 |
Вкратце:
1. Обрабатывается сообщение LVN_COLUMNCLICK списка. Там приходит структура, в которой есть индекс столбца. 2. Значок рисуешь сам , подставляя изображение с прозрачным фоном в CHeaderCtrl списка. 3. Еще надо написать CALLBACK функции сравнения строк списка. Код есть, но он в проекте. Пример могу написать, к вечеру. Если сильно надо, обращайтесь. ![]() Это сообщение отредактировал(а) Lion - 3.6.2005, 06:47 |
|||
|
||||
kometa_triatlon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Сильно надо!!! Первый раз работаю с CListCtrl, нужен пример.
Ну план понятен, но реализовать я его не смогу ![]()
Название поля узнаю методом тыка ![]()
А вот здесь не понял. Точнее понял, но не знаю как сделать... -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
||||
|
|||||
Lion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.3.2002 Репутация: 2 Всего: 2 |
Завтра с утра.
|
|||
|
||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
![]() Завтра с утра я уже сдам прогу... Ну все равно, хоть научусь. -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
St. Andrew |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.3.2005 Где: Санкт-Петербург Репутация: 1 Всего: 8 |
kometa_triatlon, а можешь примерчик выложить? А то мы сегодня полдня пытались заставить работать CListCtrl и ничего в него толком не вывелось...
![]() ![]() --------------------
Оглянитесь вокруг! В мире так много прекрасного! |
|||
|
||||
Lion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.3.2002 Репутация: 2 Всего: 2 |
Ну блин Семен Семеныч, где ж ты раньше был. ![]() ![]() Файл прилагаю. Там в общем не все так просто. ![]() P.S. Код сильно не пинать. Присоединённый файл ( Кол-во скачиваний: 88 ) ![]() |
|||
|
||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
St. Andrew
Нетрудно ![]() Lion Ну ты все равно успел ![]() ![]() -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
Lion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.3.2002 Репутация: 2 Всего: 2 |
Буду следить за форумом, если что не понятно пиши (можешь прям с кусками кода). |
|||
|
||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Мыло только что отправил, пример посмотрел, понравилось
![]() Всем спасибо ![]() -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
St. Andrew |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 142 Регистрация: 28.3.2005 Где: Санкт-Петербург Репутация: 1 Всего: 8 |
kometa_triatlon, Большое спасибо!
![]() --------------------
Оглянитесь вокруг! В мире так много прекрасного! |
|||
|
||||
kometa_triatlon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 1 Всего: 6 |
Самое грустное, это то, что у меня это код не заработал
![]() Пример работает нормально, но как только перенес код, сортировка кончилась ![]() Следствие показало, что проблема здесь:
Обе строки принимают одно значение (если конкретнее - текст первого элемента списка) Не понимаю... ![]()
-------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
||||
|
|||||
Lion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 25.3.2002 Репутация: 2 Всего: 2 |
Сори был в offline.
Ты при заполнении списка делаешь SetItemData(…)? Если нет, то у тебя для всех Item в функцию сортировки приходят нули, автоматически подставленные при добавлении Item-ов. ![]() Посмотри функцию FillList() в примере. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |