问题标签 [clistctrl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8861 浏览

mfc - 如何使用 CListCtrl 就地编辑列?

我希望 CListCtrl.EditLabel() 用于列表的任何列。我怎样才能实现这样的功能?

0 投票
1 回答
356 浏览

mfc - CListCtrl::GetItemNext 返回起始项

我在适用于 Windows Mobile 6 的 C++ MFC 应用程序中有一个 CListCtrl 对象。因此,当我调用 listctrl.GetNextItem(0, LVNI_ABOVE) 时,我应该返回 -1(第一项之上没有项目),但如果(且仅当)列表只有一项,调用返回 0,即使 MSDN 说“指定的项目本身被排除在搜索之外”。这是一个已知的错误?

0 投票
3 回答
9791 浏览

c++ - CListCtrl - 如何启用多选

我正在为 Windows Mobile 创建一个 MFC 应用程序,但不知道如何为列表控件 (CListCtrl) 启用多项选择。在属性面板中,Single Selection 设置为 False,但仍然无法选择多个项目。

任何的想法?

0 投票
1 回答
4674 浏览

mfc - MFC - How can I disable a list item?

I have a CListCtrl with checkboxes. I want to be able to disable one of the items so that the user cannot click the checkbox. Is this possible? If so, how?

Edit: Found the specifics on how to hide a checkbox in another question Need only some rows in a CListCtrl control to have check boxes

0 投票
2 回答
3971 浏览

mfc - 如何使用 CListCtrl 和 CHeaderCtrl 添加数据过滤

背景
操作数据集合的应用程序通常使用包含标题的网格呈现。这些相同的应用程序通常包含一个过滤器,以允许用户缩小数据集(Excel 是一个很好的例子。还有很多其他例子)。在我的 MFC 应用程序中,我尝试使用 CListCtrl 和 CHeaderCtrl 组合来做同样的事情。这种组合已经使我的应用程序能够提供多列排序,包括使用各个标题项的图像功能来表示升序/降序排序顺序。

我已经使用我最好的 Google-fu 来查找 CHeaderCtrl 被扩展/自定义以包含自定义绘图以添加过滤器按钮并在单击时显示关联的下拉菜单以供用户输入过滤器条件的任何示例。

问题

  1. 有没有我错过的例子?
  2. 如果互联网上没有可用的示例,在自定义 CListCtrl 和 CHeaderCtrl 时我应该考虑什么方法来实现我的目标?

附加评论:
其中一个答案引用了内置的 FilterBar 功能。是的,我已经看到了,但这不是我要找的。我正在寻找专门模拟 Excel 和其他启用过滤器的应用程序的非静态、非视觉侵入过滤功能。

0 投票
2 回答
9475 浏览

mfc - Clistctrl 项目文本颜色

如何更改 Clistctrl 项目(报告视图)的文本颜色?

0 投票
1 回答
2871 浏览

mfc - 单击或选择 Clistctrl 子项(报告视图)

如何确定报表视图 Clistctrl 的选定或单击的子项?

0 投票
2 回答
2814 浏览

c++ - 无法编辑 CListCtrl 中的标签

我正在使用 MFC Feature Pack 构建一个项目。这个项目是否我有一个包含 的窗口CView,其中包含一个CListCtrl衍生对象。该对象包括LVS_EDITLABELS标志。

不知何故,我无法CListCtrl通过两次单击(不是双击)图标标签来编辑图标标签。在我通过单击选择项目后,第二次单击只会使项目闪烁(向下按钮将文本背景变为白色,向上按钮将其变为蓝色)并且编辑控件永远不会出现。

我将这个问题简化为最简单的形式,即使使用普通CListCtrl对象我也无法编辑标签。

我还发现:

  • 这个问题出现在VS2008中。在VS2003内置的类似项目中不会出现这种情况。

  • 如果我构建 aCListView而不是CView+ ,我可以编辑标签CListCtrl

  • 如果我构建一个CFormView并将其CListCtrl放入资源对话框中,我也可以编辑标签。

下面是一些最简单形式的代码:.h 文件:

和 .cpp 文件:

这样我就无法编辑标签。要将其更改为,CListView我只需将其替换CViewCListViewand m_lstTerminaisby GetListCtrl(),并删除OnCreateandOnSize实现。这样它就起作用了。

注意:vwTerminaisTeste是从 -派生类中创建CSplitterWndEx的。CMDIChildWndEx

0 投票
1 回答
1299 浏览

c++ - CListControl 选择 (MFC)

在 MFC 的 CListCtrl 的报表视图中,如何检测当前是否没有突出显示的选择?

使用 GetFirstSelectedItemPosition 不起作用,因为如果之前选择了一个项目,然后单击列表控件上的其他位置,GetFirstSelectedItemPosition 仍然报告最后选择的位置而不是 NULL,但是,所述位置不再突出显示。

0 投票
2 回答
6067 浏览

c++ - 如何(快速)在 C++(MFC)中填充 CListCtrl?

在我的应用程序中,我有几个 CListCtrl 表。我用带有 for 循环的数组中的数据填充/刷新它们。在循环内部,我必须对显示值的方式进行一些调整,因此根本不可能以任何方式进行数据绑定。

真正的问题是填充表格所需的时间,因为它是逐行重绘的。如果我在填充时将控件变为不可见,并在循环完成后使其再次可见,则整个方法会快得多!

现在我正在寻找一种方法来阻止控件重新绘制直到它被完全填充。或任何其他加快速度的方法。