![]() |
|
![]() ![]() ![]() |
|
RSV |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 61 Регистрация: 27.6.2005 Репутация: нет Всего: нет |
Для работы с базой данных использую CListCtrl
со свойством Report. Как сделать, чтобы при поиске строк выделялся найденный элемент. Пробывал: CListCtrl m_list; 1. m_list.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED); 2. m_list.SetSelectionMark(n); 3. m_list.SetView(n); Где n это индекс. Ни один из вариантов не работает. Может я где то ошибаюсь.Заранее спасибо за ответ. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Должен работать вариант 1 - SetItemState. Остальные - из другой оперы. Только недостаточно изменить состояние, нужно еще перерисовать. Например, так:
-------------------- ... |
|||
|
||||
AlexPro |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 9.11.2005 Где: Санкт-Петербург Репутация: 3 Всего: 4 |
Если выделяется единственный элемент, я делаю так:
И еще желательно
чтобы строка оказалась в области видимости (когда все элементы не влазят на экран). |
||||
|
|||||
voff |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 30.4.2006 Репутация: нет Всего: нет |
Ещё не плохо было бы фокус на лист поставить, чтобы строка синим цветом выделилась ( m_list.SetFocus() ). Да и свойство у листа Always Show Selection установить в TRUE.
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |