Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программно выделить строку в ListView 
:(
    Опции темы
neoarey
Дата 20.5.2013, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.10.2011

Репутация: нет
Всего: нет



Здравствуйте!

Подскажите пожалуйста как программно выделить строку в ListView...
Приведённый код позволяет обратиться к строке, но не выделить!

Код

ListView1->Items->Item[x]->Selected = true;


Спасибо!
PM MAIL   Вверх
neoarey
Дата 21.5.2013, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.10.2011

Репутация: нет
Всего: нет



Нужно было установить фокус...

Код

ListView1->SetFocus();
ListView1->Items->Item[x]->Selected=true;


Вот только теперь другой вопрос. Строка то выделяется, но ListView не перерисовывается... 

user posted image

Код

ListView1->Update();
ListView1->Refresh();
ListView1->Repaint();


Эти команды не помогают! Кто знает как перерисовать?
PM MAIL   Вверх
Dem_max
Дата 21.5.2013, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



А зачем тебе перерисовывать ???


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
neoarey
Дата 21.5.2013, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.10.2011

Репутация: нет
Всего: нет



В четвёртой строке (см. рис.) остаётся след (штриховая линия) что это строка была выбрана первой... Если вручную выделять строчки такого эффекта нету!
PM MAIL   Вверх
Dem_max
Дата 21.5.2013, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Чтобы было все четко, добавляй в программу Manifest XP
Я так у тебя подозреваю BCB6, а там могут быть глюки. Manifest должен помочь


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
neoarey
Дата 22.5.2013, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 12.10.2011

Репутация: нет
Всего: нет



Спасибо, попробую...
PM MAIL   Вверх
Dem_max
Дата 23.5.2013, 03:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



Ты можешь выделять используя WinAPI
Вот мой пример как должно быть.
Цитата

SetFocus(hWndList);
// Убираем старое выделение
ListView_SetItemState(hWndList, last_selected, 0, LVIS_SELECTED | LVIS_FOCUSED);
 
// Ставим новое выделение
ListView_SetItemState(hWndList, selected , LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
 
// Показываем строку если не в зоне видимости
ListView_EnsureVisible(hWndList, selected , FALSE);




--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.