shubham kesarwani Ответов: 1

Как сделать элементы не редактируемыми в cvslistbox?


Привет,

Я использую CVSListBox и хочу сделать элементы не редактируемыми.
Можно ли сделать элементы не редактируемыми в CVSListBox?
Также я хочу добавить некоторую функциональность при изменении выбора в списке элементов, присутствующих в CVSListBox.Как достичь этих требований?
Есть ли какое-нибудь сообщение типа ON_LBN_SELCHANGE для CVSListBox ?

Заранее спасибо.

Что я уже пробовал:

Я попробовал использовать EnableWindow (FALSE), но это сделает управление недоступным для редактирования.

Richard MacCutchan

Вместо этого используйте обычный список.

1 Ответов

Рейтинг:
1

JMihailescu

Вы можете получить свой собственный класс из CVSListBox и переопределить виртуальный метод
BOOL EditItem (int iItem){return FALSE;}
возвращение ложного.
Так как кнопки new и delete могут быть бесполезны в этой ситуации
вы можете удалить любой из них, установив нужные флаги в
SetStandardButtons(UINT uiBtns = AFX_VSLISTBOX_BTN_NEW | AFX_VSLISTBOX_BTN_DELETE | AFX_VSLISTBOX_BTN_UP | AFX_VSLISTBOX_BTN_DOWN).
Что касается вашего второго вопроса, Вы можете использовать уведомление LVN_ITEMCHANGED.