Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ListView_SetHotItem, Под XP нет выделения 
:(
    Опции темы
Sphinx
Дата 31.1.2007, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



В диалоге есть ListView с атрибутами LVS_REPORT | WS_CHILD | WS_VISIBLE | WS_BORDER | LVS_EX_FULLROWSELECT. При открытии диалога нужно сделать видимой и выделить определеную строку. Делаю это так:
Код

    ListView_SetHotItem(htreeview,selectportroz-1);
    ListView_EnsureVisible(htreeview,selectportroz-1,TRUE);

Под 98-ми и под 2000-й все нормально, а под XP - строка позиционируется, но нет выделения.
Как бы сделать, что бы везде работало.

PM MAIL   Вверх
Earnest
Дата 1.2.2007, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



HotItem не то, нужно:
ListView_SetItemState (hView, iItem, LVIS_FOCUSED|LVIS_SELECTED)
Ну и EnsureVisible


--------------------
...
PM   Вверх
Sphinx
Дата 1.2.2007, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Спасибо, заработало, когда поставил в ListView_SetItemState маску=0xFFFFFFFF. Но с ListView_SetHotItem под 98-ми получается лучше - строка выделяется синим цветом и это выделение не зависит от смены позиции курсора в листинге.
А еще я добавил к ListView атрибут LVS_SHOWSELALWAYS, так под 98-ми при проносе курсора над строками они подсвечиваются синим цветом, если курсор задержать над строкой, то на нее устанавливается выделение. А под XP нет выделения синим цветом при проносе курсора, а только устанавливается выделение при задержке курсора над строкой. И получается, что под 98-ми ListView выглядит красивее. Создается такое впечатление, что для программ под XP надо еще какой-то атрибут добавить, чтобы она не игнорировала синюю подсветку, но вот какой?

PM MAIL   Вверх
Earnest
Дата 2.2.2007, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Может LVS_EX_TRACKSELECT ? Только помни, это расширенный стиль, устанавливается через LVM_SETEXTENDEDLISTVIEWSTYLE.


--------------------
...
PM   Вверх
Sphinx
Дата 2.2.2007, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Не помогло. Точнее вышло вот что: стиль LVS_SHOWSELALWAYS я устанавливал как расширенный, а его значение равно значению стиля LVS_EX_TRACKSELECT.
А как можно изменять цвет следа курсора (подсветки строки). Может он под XP устанавливается прозрачным (в 98-м он синий)?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


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

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


 




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


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

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