【问题标题】:Disable/Hide Items in a CListCtrl MFC禁用/隐藏 CListCtrl MFC 中的项目
【发布时间】:2013-11-22 22:26:52
【问题描述】:

我想用 SetItemState() 隐藏或禁用项目。 CListCtrl 在报告视图中。 一定是这样的m_List.SetItemState(1, DISABLE, DISABLE);

我搜索了但没有找到正确的 nState

如果有SetItemState以外的其他解决方案,也可以

谁能帮帮我?

【问题讨论】:

    标签: c++ mfc clistctrl


    【解决方案1】:

    没有项目状态来表示禁用(灰色)项目。见docs 解决此问题的唯一方法是您自己的实现并使用自定义绘制。我就是这样做的。

    当您捕获LVN_ITEMCHANGING 时,您可以轻松地阻止用户选择一个项目。只需将状态 Change 过滤为 LVIS_SELECTED 并返回 TRUE 即可阻止更改。

    【讨论】:

      【解决方案2】:

      您可以提供视觉反馈。我会派生一个类CMFCListCtrl 并覆盖OnGetCellBkColorOnGetCellTextColor 方法来实现它。

      ,我会在选择未指定的项目时覆盖对选择以取消选择的响应。但是对于这部分,我不太确定它是否可行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-18
        • 2010-09-29
        • 2012-05-21
        • 2014-04-14
        • 1970-01-01
        相关资源
        最近更新 更多