Есть ли у LVS_EX_FULLROWSELECT проблемы совместимости с другими стилями? - PullRequest
3 голосов
/ 11 августа 2010

Я пытаюсь установить стиль LVS_EX_FULLROWSELECT в моем элементе управления списком сетки, так как я хочу полный выбор строки. Однако, по-видимому, это не имеет никакого эффекта. Поскольку я использую и ряд других стилей, мне интересно, есть ли у LVS_EX_FULLROWSELECT какие-либо проблемы совместимости с другими стилями. Кто-нибудь? Ниже приведены стили, которые я устанавливаю.

Первоначально следующие стили установлены для базового класса управления списком:

WS_CHILD|WS_BORDER|LVS_REPORT|LVS_SHOWSELALWAYS|LVS_SINGLESEL

Затем я пытаюсь установить дополнительные стили в классе управления производным списком сетки:

ListView_SetExtendedListViewStyleEx(sysId(), 0, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT);

Ответы [ 2 ]

4 голосов
/ 15 августа 2010

Второй параметр - это маска, поэтому вам нужно:

ListView_SetExtendedListViewStyleEx(m_hWnd, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT, LVS_EX_GRIDLINES | LVS_OWNERDATA | LVS_EX_FULLROWSELECT);
2 голосов
/ 12 августа 2010

Необходимо отправить сообщение LVM_ SETEXTENDEDLISTVIEWSTYLE в элемент управления и указать расширенный стиль LVS_EX_FULLROWSELECT (источник: Поддержка MS ).

Редактировать:

Проверьте пример.Существует

ListView_SetExtendedListViewStyle(m_hWnd, ListView_GetExtendedListViewStyle(m_hWnd), VS_EX_FULLROWSELECT);

Попробуйте использовать ListView_GetExtendedListViewStyle(sysId()) вместо 0.Кстати - этот sysId() ваш действительно получает дескриптор окна?Название звучит несколько иначе.

Приветствия.

...