我有自己的CListCtrl
实现和复选框(LVITEM
)及其子项。我可以使子项禁用,但我不知道如何禁用复选框。
如何使禁用的灰色项在CListCtrl
中为LVITEM
发布于 2017-11-28 10:34:59
禁用复选框没有状态。
但是,您可以防止LVN_ITEMCHANGING
中的状态更改。此通知在应用对列表视图的任何更改之前发送。
void CWzProjectStatistic_User::OnItemchangingLcData(NMHDR* pNMHDR,LRESULT* pResult)
{
LPNMLISTVIEW pNMLV= reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
// clear result (accept changes)
*pResult = 0;
// Only if the state changes
if ((pNMLV->uNewState&LVIS_STATEIMAGEMASK)!=(pNMLV->uOldState&LVIS_STATEIMAGEMASK))
{
if (IfThisIsADisabledEntry(pMLV))
*pResult = 1;
也有机会实现您自己的图形和复选框处理。您可以将自己的映像列表分配到列表视图,并且可以使用LVIS_STATEIMAGEMASK
和INDEXTOSTATEIMAGEMASK
来处理状态映像。
https://stackoverflow.com/questions/47526530
复制相似问题