问题标签 [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 投票
1 回答
355 浏览

mfc - 如何处理 CListCtrl 中的属性键?

我想在 MFC 中处理 CListCtrl 中的属性按键,并显示一个右键单击已经显示的上下文菜单。我怎样才能做到这一点?

0 投票
2 回答
3031 浏览

c++ - 从自定义 ListCtrl 捕获 WM_NOTIFY 消息

我的应用程序是 c++,是 MFC 和 ATL 的组合。我在这里使用的部分是 MFC。

我的一个对话框中有一个自定义列表控件类,它继承自 CListCtrl。

我正在尝试为 LVN_ITEMCHANGED 消息添加一个处理程序,以便我可以更新对话框表单的其余部分,这取决于列表的内容。更具体地说,每个列表项都有一个复选框字段,我需要检测它何时更改。

问题是,我的列表没有发送消息。

这是我的消息映射,它工作得很好,我通过简单地更改消息检测到其他消息,如 LVN_ITEMCHANGING、NM_CLICK 和 NM_RELEASEDCAPTURE。

因此,我的猜测是 listctrl 自定义类以某种方式无法正确发布消息。

这个问题可以通过多种方式回答:
1.如何将 LVN_ITEMCHANGED 消息从子列表发布到其父列表(对话框)?
2.我是否捕捉到了正确的信息?我尝试过的大多数都过早地触发了更新(即在更新列表中的数据之前)当我这样做时,对话框会根据列表的先前状态刷新。
3.还有什么我不应该做的事情吗?我问这个只是为了让它开放。

0 投票
3 回答
1467 浏览

mfc - 如何在 CListCtrl 中显示不同大小的图像

在我的 MFC 程序中,我想在列表中显示不同大小的图像!我使用 CListCtrl 和 CImageList!但是 CImageList 只能加载固定的图像!

0 投票
1 回答
2208 浏览

c++ - 调整列表列大小时出现 HDN_ENDTRACK 问题

在为派生自 CListCtrl 的自定义类处理 HDN_ENDTRACKW 消息时,我遇到了一些问题。

本质上,似乎在发送此消息时,存储列宽度的实际值直到我的处理代码执行后才更新。

句柄内的代码只是指示进度条调整大小,以填充调整后的列的宽度。编码:

ListView_GetColumnWidth 目前只是为了帮助调试。

我正在更改的特定列的默认值为 150,当我在 UI 中调整列的大小时,会调用此方法但宽度保持在相同的 150,进度条不会调整大小。仅当再次调整列大小时,宽度值现在才反映第一次调整大小后列的值,然后 ResizeProgressBar 方法正确更改 progbar 大小以填充它所在的列。这是连续的,宽度值似乎总是比实际值落后一步。

我会感谢任何帮助。干杯。

0 投票
3 回答
10686 浏览

c++ - 如何在 CListCtrl 中捕获滚动事件?

我将 CListCtrl 子类化为我自己的类,并在多个对话框和视图中使用它。我想要做的是在垂直滚动 ClistCtrl 时执行一些代码。我需要它在 CListCtrl 子类本身中。

我可以使用demoncodemonkey提供的方法检测与滚动条交互时触发的滚动:

消息映射:

方法声明:

方法实现:

但:

  • 鼠标滚轮滚动不会触发 OnVScroll。

  • 单击底部部分可见的 CListCtrl 项目时发生的自动滚动(它向上滚动,因此项目完全可见)也没有触发 OnVScroll。例如:

部分可见项目

单击项目 9 会导致 ClistCtrl 滚动一点,以便项目完全可见。

0 投票
2 回答
2692 浏览

visual-c++ - 如何避免 CListCtrl 项目部分可见?

我有一个可调整大小的 CListCtrl 并且我想避免任何项目被部分显示。

例如:

部分可见项目:项目 9

在这种情况下,我希望不显示第 9 项。有没有一个标志或方法?你将如何解决这个问题?

我尝试了以下方法,但效果不佳:

抓到后

...

...

在 CListCtrl 父对话框中。(我不想这样做,如果可能的话,我只想在我的 CListCtrl 派生类中做所有事情)。

我所做的只是完全显示第 9 项,但第 10 项在其下方部分可见。如果我有 30 项我不想滚动列表以显示第 30 项,我想显示到第 8 项,而其下方没有部分可见的项。

0 投票
4 回答
39124 浏览

visual-c++ - 如何检测 CListCtrl 选择更改?

当用户在 CListCtrl 中选择一行时,我想执行一些代码(报告视图,我不关心其他查看模式)。

我如何捕捉这个事件?是否有一些我可以映射的消息或诸如“OnSelectionChanged”之类的方法或类似的方法?

0 投票
1 回答
3723 浏览

c++ - CListCtrl get item index

How do I get an item's index number using the caption text? I'm using CListCtrl class of MFC. I have the item's caption text, can I get the index for that item and then update its text. It will be helpful if you could provide an example.

0 投票
2 回答
469 浏览

list - 如何以编程方式(VS 6)取消突出显示 MFC CListCtrl 中先前选择的行?

有谁知道如何以编程方式取消突出显示 MFC CListCtrl 中先前选择的行?

0 投票
3 回答
7092 浏览

c++ - MFC 列表控件

在 MFC 中,我可以通过将 Edit Labels 设置为 true 来编辑列表控件中项目的文本,但只能编辑第一列。现在,当我单击第一个列项目以更改其文本时,我可以更改其文本,但是当我按 Enter 时,其文本未更新,为什么以及如何编辑其他列的文本?