![]() |
|
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]()
|
|
| Sphinx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
В диалоге есть ListView с атрибутами LVS_REPORT | WS_CHILD | WS_VISIBLE | WS_BORDER | LVS_EX_FULLROWSELECT. При открытии диалога нужно сделать видимой и выделить определеную строку. Делаю это так:
Под 98-ми и под 2000-й все нормально, а под XP - строка позиционируется, но нет выделения. Как бы сделать, что бы везде работало. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
HotItem не то, нужно:
ListView_SetItemState (hView, iItem, LVIS_FOCUSED|LVIS_SELECTED) Ну и EnsureVisible -------------------- ... |
|||
|
||||
| Sphinx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Спасибо, заработало, когда поставил в ListView_SetItemState маску=0xFFFFFFFF. Но с ListView_SetHotItem под 98-ми получается лучше - строка выделяется синим цветом и это выделение не зависит от смены позиции курсора в листинге.
А еще я добавил к ListView атрибут LVS_SHOWSELALWAYS, так под 98-ми при проносе курсора над строками они подсвечиваются синим цветом, если курсор задержать над строкой, то на нее устанавливается выделение. А под XP нет выделения синим цветом при проносе курсора, а только устанавливается выделение при задержке курсора над строкой. И получается, что под 98-ми ListView выглядит красивее. Создается такое впечатление, что для программ под XP надо еще какой-то атрибут добавить, чтобы она не игнорировала синюю подсветку, но вот какой? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Может LVS_EX_TRACKSELECT ? Только помни, это расширенный стиль, устанавливается через LVM_SETEXTENDEDLISTVIEWSTYLE.
-------------------- ... |
|||
|
||||
| Sphinx |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 74 Регистрация: 20.7.2006 Репутация: нет Всего: нет |
Не помогло. Точнее вышло вот что: стиль LVS_SHOWSELALWAYS я устанавливал как расширенный, а его значение равно значению стиля LVS_EX_TRACKSELECT.
А как можно изменять цвет следа курсора (подсветки строки). Может он под XP устанавливается прозрачным (в 98-м он синий)? |
|||
|
||||
![]()
|
| Правила форума "C/C++: Системное программирование и WinAPI" | |
|
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |