Отключить / Скрыть элементы в Mist CListCtrl

Я хочу скрыть или отключить элементы с помощью SetItemState (). CListCtrl находится в представлении отчета.
Это должно быть что-то вроде этого m_List.SetItemState(1, DISABLE, DISABLE);

Я искал, но не нашел нужного nState

Если есть другое решение, чем SetItemState, это также будет хорошо

Может кто-нибудь мне помочь?

3

Решение

Нет состояния элемента для представления отключенного (серого) элемента. Увидеть документы
Единственный способ решить эту проблему — ваша собственная реализация и использование пользовательского рисования. Это способ, которым я делаю это.

Вы можете легко запретить пользователю выбирать элемент, когда вы ловите LVN_ITEMCHANGING. Просто отфильтруйте состояние Изменить на LVIS_SELECTED и верните TRUE, чтобы предотвратить изменение.

2

Другие решения

Вы можете дать визуальный отзыв. Я бы вывел класс CMFCListCtrl и переопределить OnGetCellBkColor а также OnGetCellTextColor методы для достижения этого.

И я бы переопределил свой ответ на выбор, чтобы отменить выбор при выборе невыбираемого элемента. Однако в этой части я не уверен, выполнимо ли это.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector