Хочу в List View'е повесить на одиночный клик выделение item'а, я его мечу как LVIS_SELECTED на NM_CLICK, но он пропадает после следующего клика. Где чего перехватить чтобы на клик выделенные итемы не снимались?
Да нет, выделяет он нормально, или несколько(для проверки первые 3 выделял), но он в автомате снимает все выделенные когда еще раз щелкаешь. А код здоровый слишком, у меня уже exe'шник на 40kB
Так этот контрол так работает - при щелчке на элементе снимает выделение с уже выделенных и выделяет щёлкнутый элемент. Не нравится - пиши свой. Это где-то ~50 Кб текста, соответственно машкода вообще не много.
Ну его нафиг, самому писать. Тут оказывается можно несколько пунктов выделять если одновременно ctrl нажать. Может как-нибудь сымитировать нажатие ctrl?
Сабклассь листвью и перехвати NM_CLICK. При получении этого сообщения узнай, какие элементы выделены, и запомни. Потом передай сообщение листвью, а затем опять поставь атрибут LVIS_SELECTED тем элементам, что запомнил. P.S. Если ты хочешь, чтобы одиночный щелчок левой кнопкой добавлял элемент к выделению, то лучше писать свой контрол. Потому что, во-первых, описанное мной решение может тормозить, а во-вторых, могут появляться ненужные перерисовки контрола.