· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Множественное выделение в List View'е

Посл.отвђт Сообщенiе


Дата: Сен 25, 2004 18:12:27

Хочу в List View'е повесить на одиночный клик выделение item'а, я его мечу как LVIS_SELECTED на NM_CLICK, но он пропадает после следующего клика.
Где чего перехватить чтобы на клик выделенные итемы не снимались?


Дата: Сен 26, 2004 00:15:05

„я его мечу как LVIS_SELECTED“
может метишь как-то не так, приведи код хоть и почему не на WM_LBUTTONDOWN вешаешь?


Дата: Сен 26, 2004 01:25:45

yureckor
LVS_SINGLESEL случайно не стоит?


Дата: Сен 26, 2004 07:41:07

Да нет, выделяет он нормально, или несколько(для проверки первые 3 выделял), но он в автомате снимает все выделенные когда еще раз щелкаешь.
А код здоровый слишком, у меня уже exe'шник на 40kB :)


Дата: Сен 26, 2004 11:27:18

Так этот контрол так работает - при щелчке на элементе снимает выделение с уже выделенных и выделяет щёлкнутый элемент. Не нравится - пиши свой. Это где-то ~50 Кб текста, соответственно машкода вообще не много.


Дата: Сен 26, 2004 13:07:44

Ну его нафиг, самому писать.
Тут оказывается можно несколько пунктов выделять если одновременно ctrl нажать.
Может как-нибудь сымитировать нажатие ctrl?


Дата: Сен 27, 2004 01:29:36

Сабклассь листвью и перехвати NM_CLICK. При получении этого сообщения узнай, какие элементы выделены, и запомни. Потом передай сообщение листвью, а затем опять поставь атрибут LVIS_SELECTED тем элементам, что запомнил.

P.S. Если ты хочешь, чтобы одиночный щелчок левой кнопкой добавлял элемент к выделению, то лучше писать свой контрол. Потому что, во-первых, описанное мной решение может тормозить, а во-вторых, могут появляться ненужные перерисовки контрола.


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.083