clistctrl相关内容

MFC:如何更改 ListCtrl 个别行的颜色/粗体?

使用 MFC 和 Visual Studio 2010 C++.我需要一种方法来突出 CListCtrl 的某些单独的行(但是我不想使用内置的选择功能来突出显示这些行).它可能是行背景的颜色,或字体粗细,甚至可能是图像(如果这是高性能的话). 理想情况下,我想知道如何使用库存列表控件来做到这一点.但是,如果这不可能,请告诉我使用 3rd 方代码的方法. 更新 这是我最终使用的代码 ..
发布时间:2022-01-12 15:26:27 C/C++开发

获取 MFC CListCtrl 中项目文本的索引

我有一个带有文本的 CString,它也是我的 CListCtrl 的项目文本.例如: CString m_SearchThisItemText = _T("香蕉"); 在我的 CListCtrl 中 m_List.SetItemText(1, 1, _T ("Banana")); 现在我想知道文本在哪个索引上. CListCtrl::FindItem不工作.它只搜索项目的名 ..
发布时间:2022-01-12 15:21:44 C/C++开发

CListCtrl 中的垂直滚动条

我在图标视图中使用 CListCtrl,但它水平滚动: 1 3 5 7 -->2 4 6 8 --> 我宁愿它水平滚动: 1 23 45 6||五五 有没有办法做到这一点? 解决方案 将设计器中的对齐方式从左改为上. ..
发布时间:2022-01-12 15:04:05 C/C++开发

如何更改 CListCtrl 列的颜色

我想将特定列的背景颜色更改为对话框的颜色(灰色).我怎样才能实现它? void CUcsOpTerminalDlg::OnCustomdrawFeatureList(NMHDR *pNMHDR, LRESULT *pResult){LPNMCUSTOMDRAW pNMCD = reinterpret_cast(pNMHDR);//TODO: 改变颜色*p结果 = 0;} 谢谢 解决方案 ..
发布时间:2022-01-12 15:02:20 C/C++开发

如何使用 CListCtrl 就地编辑列?

我希望 CListCtrl.EditLabel() 用于列表的任何列.如何实现这样的功能? 解决方案 这是可行的,但它确实需要大量的鼠标点击和焦点事件. 简而言之,您捕获鼠标左键按下消息并将其转换为单元格点击详细信息(即行和列索引). 使用这些单元格详细信息,您无法确定列表视图单元格的大小和位置以及其中包含的文本值. 现在使用上一步中的大小和位置详细信息直接在此单元格上创 ..
发布时间:2022-01-12 14:41:05 C/C++开发

如何禁用 CListCtrl 选择选项

我不知道如何禁用 CListCtrl 选择选项.我想覆盖 CListCtrl 类方法或处理任何窗口命令?谢谢. 解决方案 如果你想阻止用户在 CListCtrl 中选择一个项目,你需要从 CListCtrl 派生你自己的类 并为 LVN_ITEMCHANGING 通知添加消息处理程序. 所以,一个示例类 CMyListCtrl 会有一个头文件: MyListCtrl.h #p ..
发布时间:2022-01-12 14:38:58 C/C++开发

如何检测 CListCtrl 选择更改?

当用户在 CListCtrl 中选择一行时,我想执行一些代码(报表视图,我不关心其他查看模式). 我如何捕捉这个事件?是否有一些我可以映射的消息或类似“OnSelectionChanged"之类的方法? 解决方案 也试试: BEGIN_MESSAGE_MAP(cDlgRun, CDialog)ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST2, OnItemc ..
发布时间:2022-01-12 14:35:40 C/C++开发

带有复选框问题的 CListCtrl

列表控件被定义为资源上的单选. 问题 1 我想在 CListCtrl 的第一列的标题上设置一个复选框.在 OnInitDialog 我有 m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);CString s;s.LoadString(IDS_CO ..
发布时间:2022-01-12 14:32:05 C/C++开发

CListCtrl 带复选框问题

列表控件被定义为资源的单一选择. 问题 1 我想在我的 CListCtrl 的第一列的标题上有一个复选框.在 OnInitDialog 我有 m_list.SetExtendedStyle(m_list.GetExtendedStyle() | LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);CString s;s.LoadString(IDS_ ..
发布时间:2021-12-23 08:26:42 C/C++开发

不正确的列排序 ClistCtrl

这是我的回调函数: int CALLBACK SortMeAscending(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort){int nRetVal = 0;PITEMDATA pData1 = (PITEMDATA)lParam1;PITEMDATA pData2 = (PITEMDATA)lParam2;开关(lParamSort){案例 ..
发布时间:2021-06-02 21:31:46 C/C++开发

如何处理NM_CUSTOMDRAW事件以检索列表项

我正在处理Win32/MFC项目.我有一个自定义CListCtrl控件,我必须不时添加一些字符串.我绝对需要对动态添加到CListCtrl的项目执行一些操作. 基本上,我需要: 检测添加单个元素; 检索 _单个项目_立即(理想情况下,InsertItem()调用后不久); 在地图中 存储单个项目的值,我将使用它们执行其他操作. 我考虑过这样做,以覆盖方法DrawItem(). ..
发布时间:2021-05-04 21:12:24 C/C++开发

如何在VC ++中的多列中添加复选框

我是Visual C ++的新手,我使用的是Visual C ++ 2005,我想在报表中显示一些使用 ListControl 的记录.我的单条记录包含两个布尔字段,因此 ListControl 中的每一行都将用复选框表示.简而言之,每行将有两个复选框.我使用了 ListControl ,但是我发现每个条目只有一个复选框.因此,任何人都可以解释一下如何在 ListControl 中添加多列复选框, ..
发布时间:2021-04-21 20:47:29 其他开发

CListCtrl没有创建组

我正在尝试使用CListCtrl通过以下代码进行分组: LVGROUP lg = { 0 }; lg.cbSize = sizeof(lg); lg.state = LVGS_NORMAL | LVGS_COLLAPSIBLE; lg.mask = LVGF_GROUPID | LVGF_HEADER | LVGF_STATE ..
发布时间:2020-05-09 19:40:51 C/C++开发

区分用户单击和CListCtrl中的SetChecked()

我有一个CListCtrl,其中包含一些复选框,我需要根据某些外部因素启用或禁用这些复选框.但是,当列表中有更多项目可以显示时,我将无法在控件上使用EnableWindow(FALSE),因为它还会禁用滚动条. 因此,我在消息映射中进行了搜索并提出了以下代码: ON_NOTIFY(LVN_ITEMCHANGED, IDC_CHECKBOX_LIST, OnCheckboxChanged ..
发布时间:2020-05-09 19:39:46 C/C++开发

如何确定是否显示CListCtrl的滚动条?

我有一个从CListCtrl派生的类.我希望所有列的宽度总计显示窗口的宽度,以免出现底部滚动条.我可以通过GetSystemMetrics(SM_CXVSCROLL)调用获取标准滚动条的宽度,但是我不知道如何确定垂直滚动条是否处于活动状态.我尝试使用: auto pScrollbar = GetScrollBarCtrl(SB_VERT); auto is_visible = pScroll ..
发布时间:2020-05-09 19:38:02 C/C++开发

在MFC中的CListCtrl的第二列中添加复选框

在我的MFC应用程序中,我使用OnCreate()函数在我的View类中添加了CListCtrl.我在该表中有10列和8行.我想在第二栏中包括复选框. 我的代码是 int CTrendView::OnCreate(LPCREATESTRUCT l) { m_ctLstCtrl.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT ,listRect, this ..
发布时间:2020-05-09 19:37:42 C/C++开发

获取列顺序(MFC)

我正在尝试获取MFC CListCtrl中列的顺序.最初,我尝试在消息处理程序中为HDN_ENDDRAG通知调用GetColumnOrderArray(),但是始终返回旧的(拖放前)列顺序.因此,根据 SOOO,我尝试使用存储在消息(phdr->iItem)中的列索引直接与CHeaderCtrl交谈并自己获取列顺序,但是由标题控件填充的结构中的字段均无效;我仍然无法获得列顺序. 列表控件是否 ..
发布时间:2020-05-09 19:34:47 C/C++开发

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

在处理从CListCtrl派生的自定义类的HDN_ENDTRACKW消息时,我遇到了一些问题. 基本上,似乎发送此消息时,直到执行我的处理代码后,存储列宽度的实际值才更新. 句柄中的代码只是指示进度条调整大小,以填充调整后的列的宽度. 代码: void ProgListCtrl::OnEndTrack(NMHDR* pNMHDR, LRESULT* pResult) { int ..
发布时间:2020-05-09 19:34:27 C/C++开发

MFC CListCtrl右键单击标题

我有一个用Visual Studio 6编写的MFC应用程序,正在向其中添加一些新功能.我想要做的是,当用户右键单击属性页内列表控件上的标题列时,显示一个上下文菜单.在类向导中添加了CListCtrl类. 通过属性页的ClassWizard,我为listctrl上的右键单击添加了一个处理程序.确实会调用此方法,并且我添加了以下代码来计算rclick是否位于标题部分上,如果是,则显示哪个标题项 ..
发布时间:2020-05-09 19:34:24 C/C++开发

CListCtrl用鼠标选择多行

有一个CListCtrl和SetExtendedStyle (LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT),单个选择为false.我希望能够用鼠标选择多行. 从空白区域开始选择时,它可以工作: 如果我不是从空白区域开始选择,那是行不通的.选择框不出现: 如何使其工作? 解决方案 更改通用控件的工作方式并不是一个好主意,因为用户希望它们像在所有其他应用程序 ..
发布时间:2020-05-09 19:32:59 C/C++开发