Цвет выделения в ListView

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Цвет выделения в ListView

Сообщение XairOn » 30.11.2006 (Чт) 21:01

Доброго времени суток, господа. У меня такой вот вопрос возник, я всё никак решить его не могу, вот к примеру имеется у нас ListView с итемами (стиль — REPORT) когда пользователь щёлкает по итему, он выделяется, можно ли как-нибудь задать свой цвет выделения, по умолчанию цвет синий какой-то, а я хочу сделать выделение чёрным. Скажите пожалуйста, можно ли так сделать, и если да, то как лучше?
ListView чисто API'шный.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.12.2006 (Пт) 17:00

По умолчанию цвет выделения не синий, а тот, который в системе стоит как цвет выделения. Что разумно и правильно.
Для ССЗБ, однако, есть LVS_ONERDRAWFIXED.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 01.12.2006 (Пт) 17:32

GSerg писал(а):По умолчанию цвет выделения не синий, а тот, который в системе стоит как цвет выделения. Что разумно и правильно.
Для ССЗБ, однако, есть LVS_ONERDRAWFIXED.

Ну если LVS_OWNERDRAWFIXED юзать, это мне получается всё самому рисовать придется. :cry: Я думал, найдется более простое решение. Кстати, раз уж речь зашла о выделении в ListView, то ещё такой вопрос, а можно ли сделать так, что бы нельзя было выделить ни один элемент? Имеется ввиду, не ловить выделение, и снимать его. А именно на этапе создания может быть можно указать какой-нибудь флаг, который не даст пользователю выделаять итем?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 01.12.2006 (Пт) 17:51

EnableWindow? :roll:
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 01.12.2006 (Пт) 18:30

GSerg писал(а):EnableWindow? :roll:

Нееее, ну это уже через чур. Наверное многие знают программу Total Commander, вот мне бы хотелось что-то подобное в своей проге сделать (я имею ввиду выделение).

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 01.12.2006 (Пт) 21:33

Чтобы рамка одна была у ввыделенного?

Listview1.selecteditem.selected=False

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 02.12.2006 (Сб) 14:31

Alexanbar
Имеется ввиду, не ловить выделение, и снимать его
Изображение

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 02.12.2006 (Сб) 19:13

Alexanbar писал(а):Чтобы рамка одна была у ввыделенного?

Listview1.selecteditem.selected=False

ListView на чистом API.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29

    TopList