问题标签 [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 回答
2356 浏览

c++ - 使用 MFC 拦截来自孩子的孩子的消息

我有一个 CListCtrl 类,当用户选择其中一个子项时,我在子项上显示一个 CComboBox,然后用户可以从中进行选择。

但是我有一个问题。当用户做出选择时,我需要组合框消失(即拦截 CBN_SELCHANGE)。问题是我需要使 CComboBox 成为 CListCtrl 的子项(否则即使我将组合框设置为最顶部,我也会在组合框上绘制列表时遇到奇怪的问题)。所以 CBN_SELCHANGE 消息被发送到列表视图,可以理解的是,忽略它。如何让列表视图将该消息传递给父窗口。

我真的需要派生自己的 CListCtrl 类来简单地拦截 CBN_SELCHANGE 消息并将其传递给父窗口吗?有没有比创建 OnWndMsg 处理程序更好的方法呢?

谢谢你的帮助!

编辑:此代码有效

但我真的很想知道是否有更好的方法来做到这一点。

0 投票
6 回答
36682 浏览

c++ - 如何将 CListCtrl 中的项目设置为选中?

ClistCtrl 在报表视图中设置为单选和单列,没有标题。

我已经尝试过SetItemState(0,LVIS_SELECTED,LVIF_STATE)
SetSelectionMark(int index)但这些都不起作用。

0 投票
4 回答
5567 浏览

c++ - CListCtrl 中的垂直滚动条

我在图标视图中使用 CListCtrl,但它水平滚动:

我宁愿它水平滚动:

有没有办法做到这一点?

0 投票
1 回答
168 浏览

integer - 在 CListCtrl 中显示文件的大小

我在 Windows MFC 应用程序中工作。在我的设计中,我在CListCtrl控件中显示文件详细信息(类型、名称、大小)。我找到了这些文件详细信息,FileStatus但是当我尝试显示时,我无法显示文件大小,因为它是一个整数。我尝试过CListCtrl::SetItemText,也尝试过输入 cast 但它不起作用。

m_myList 是 CListCtrl 变量。任何人都可以帮助我吗?

0 投票
1 回答
1596 浏览

mfc - CListCtrl:在同一列上使用不同字体时如何获取列宽?

我从 CListCtrl 派生了一个名为 CListCtrlCustomDraw 的类,并使用 NM_CUSTOMDRAW 处理程序来绘制列表。
问题是我选择的项目和未选择的项目有不同的字体,它们是列表控件的成员变量,但是当我使用

计算列宽时,列表使用未选中项的字体,该字体没有
选中项的字体(粗体)那么宽,因此即使内容相同,也会有一些内容无法显示在
选中项中。

我可以设置使用哪种字体来计算列宽吗?
我尝试在上述代码之前设置字体,但没有效果。
任何建议将不胜感激。

0 投票
2 回答
3016 浏览

c++ - HitTest 未按预期工作

我想在用户右键单击 CListCtrl 中的项目时显示上下文菜单。我的代码如下:

当我实际运行代码时,无论我点击哪里;在一个项目上,在 CListCtrl 内的空白空间中,在对话框的其他任何地方(通过删除第一个 if 语句);hitTestInfo.flags设置为 48,如果我没看错的,它的意思是“在整个 CListCtrl 的下方和右侧”。当我第一次检查它是否在 CListCtrl 中时,这真的没有意义。

那么我在某处有不正确的假设吗?我的代码不正确吗?我错过了什么吗?

作为一个可能相关的,或者可能不相关的,BONUS QUESTION,两者LVHT_ONITEMSTATEICONLVHT_ABOVE都是#define0x08 - 为什么会这样?这可能是我误解的关键。

0 投票
1 回答
859 浏览

mfc - 无法让 OnContextMenu 为自定义 CListCtl 类工作

我试图让上下文菜单适用于 CListCtrl 派生类。我刚刚创建了一个方法 OnContextMenu,但它没有被调用。我错过了什么?我正在使用 Visual Studio 2008 创建基于 CDialog 的 MFC 应用程序。

自定义列表.h

自定义列表.cpp

0 投票
1 回答
3498 浏览

mfc - Using a CListCtrl, how can I make selection color entire row?

I currently have NM_CUSTOMDRAW message calling a function to color the rows of a listctrl in report mode. I can detect when a row is selected and color it myself, but this method doesn't get called for the cell that is selected, so I can't color that cell. So my question is 1) is there a way to have windows call my custom draw method for every cell whether it is selected or not? 2) If not what is the easiest way to make a selection span entire row. Thanks, CP

0 投票
1 回答
491 浏览

visual-c++ - 双击后在 CListCtrl 中保持高亮显示

弄清楚了。LVIF_STATE 应该是 LVIF_IMAGE。看,我知道这是初级的...

我在 VC++6.0 项目中有一个带有 OnDoubleClick() 处理程序的 CListView 派生类。在 OnDoubleClick() 处理程序完成它的事情之后,我需要保持所选项目的突出显示。我曾以为

可以解决问题(假设 m_nHighlightIndex 保存所选项目的索引),但是在 OnDoubleClick() 或 OnUpdate() 中,没有任何组合以及使客户区无效的各种尝试都起作用。这似乎是一件很简单的事情,但到目前为止它让我感到困惑。任何帮助将不胜感激。

0 投票
1 回答
1106 浏览

mfc - 是否可以使用 CListCtrl 编辑数据 - 如果没有,任何人都可以建议 MFC 中的替代控件吗?

我正在设计一个 MFC 应用程序,我希望在其中有一个带有 2 个列的网格:两者都是可编辑的,用户将在其中输入数据并且应用程序将收到有关它的通知。用户可以根据需要增加/减少行数 - 用于这种要求的理想 MFC 控件是什么?

这是我第一次设计 MFC 应用程序,所以不要介意它是否听起来太无聊:)