如何在MFC应用程序中获取列表控件的已编辑子项索引

用户名

我正在用C ++在Visual Studio 2017上编写基于对话框的MFC应用程序。

在对话框中,我有一个列表控件。我想知道用户在编辑列表时会更改哪一列。

列表控件如下所示:

在此处输入图片说明

因此,如果我编辑单元格,Channel Mode B我希望该单元格的值是row = 2和col =1。我尝试使用以下代码:

mask字段中,LVCOLUMN启用了以下标志:

LVCOLUMN lvColumn;
lvColumn.mask = LVCF_FMT | LVCF_TEXT | LVCF_WIDTH | LVCF_SUBITEM;

在中,MESSAGE_MAP我添加了以下通知:

ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST1, &CEditableListControlDlg::OnLvnItemchangedList1)

我编写的处理程序是:

void CEditableListControlDlg::OnLvnItemchangedList1(NMHDR *pNMHDR, LRESULT *pResult)
{
    LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);
    
    
    
    if (pNMLV->uChanged & LVIF_STATE)
    {
        
        if ((pNMLV->uNewState) & LVIS_SELECTED)
        {
            int iItem = pNMLV->iItem;
            int subItem = pNMLV->iSubItem;
        }
    }
    *pResult = 0;
}

在此代码中,变量iItem是选定的行,subItem也是选定的列。我感兴趣的是获得这份礼物pNMLV->iSubItem我的问题是subItem变量的值始终为零,这意味着Microsoft Docs文档未在此处选择它

如何获得已编辑子项目的索引?

谢谢。

Barrnet Chou

当您选择其他行时,消息将响应。如果选择相同的行和不同的列,该消息将不会重复响应。因此,iSubItem仅更改列时将始终为0。

您可以参考以下示例。

void CSdfsdfDlg::OnItemchangedList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
    // TODO: Add your control notification handler code here
     
    if ((pNMListView-> uChanged   &   LVIF_STATE)   &&   (pNMListView-> uNewState   &   LVIS_SELECTED)) 
    {
        DWORD   dwPos =GetMessagePos(); 
        CPoint   point(LOWORD(dwPos),HIWORD(dwPos)); 
         
        m_lst.ScreenToClient(&point);   
         
        LVHITTESTINFO lvinfo; 
        lvinfo.pt = point; 
        lvinfo.flags = LVHT_ABOVE; 
         
        int  nItem = m_lst.SubItemHitTest(&lvinfo); 
        if(nItem!=-1) 
        { 
            CString strtemp; 
            strtemp.Format( "the row is %d and the column is %d ", lvinfo.iItem, lvinfo.iSubItem); 
            MessageBox(strtemp);
        } 
         
    }
 
 
    *pResult = 0;
} 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Facebook应用程序中获取朋友列表?

来自分类Dev

如何在Facebook应用程序中获取朋友列表?

来自分类Dev

如何在 WPF 应用程序中获取组件 2 层深处的子项?

来自分类Dev

如何在gnome应用程序列表中删除/编辑程序?

来自分类Dev

如何在 MFC 应用程序中添加文档菜单?

来自分类Dev

如何在Windows 10中显示已安装的应用程序列表(仅“ Metro”)?

来自分类Dev

如何在tomcat服务器中获取所有已部署的应用程序

来自分类Dev

如何在tomcat服务器中获取所有已部署的应用程序

来自分类Dev

iOS - 如何在 AppsFlyer 的 One-Link 中获取参数。应用程序已安装并启动

来自分类Dev

在MFC应用程序中动态创建控件

来自分类Dev

在MFC应用程序中动态创建控件

来自分类Dev

如何在GNOME 3中编辑“应用程序”菜单?

来自分类Dev

如何在iOS应用程序中编辑PDF表单?

来自分类Dev

如何在GNOME 3中编辑“应用程序”菜单?

来自分类Dev

如何在iOS应用程序中编辑PDF表单?

来自分类Dev

如何在 Lubuntu 中编辑应用程序面板菜单?

来自分类Dev

如何在iOS中从我的应用程序获取所有消息传递应用程序列表

来自分类Dev

如何在heroku中复制已部署的应用程序?

来自分类Dev

如何在 Windows 中过滤已执行的应用程序?

来自分类Dev

如何获取应用程序中数组的最大索引

来自分类Dev

如何在 Ionic 混合应用程序中获取列表中的数据

来自分类Dev

如何在 UWP 应用程序中获取当前在 Azure VM 中运行的进程列表

来自分类Dev

如何在Windows 10通用应用程序上获取已配对的蓝牙设备的列表

来自分类Dev

如何在Android应用程序中获取Facebook好友列表

来自分类Dev

如何在列表中获取所有共享应用程序(安装在设备上)?

来自分类Dev

如何在Ember.js 3.18中获取应用程序的所有路由列表?

来自分类Dev

如何在列表中获取所有共享应用程序(安装在设备上)?

来自分类Dev

如何在Android应用程序中获取Facebook好友列表

来自分类Dev

有没有办法获取在MFC应用程序中控件映射到的处理函数?

Related 相关文章

  1. 1

    如何在Facebook应用程序中获取朋友列表?

  2. 2

    如何在Facebook应用程序中获取朋友列表?

  3. 3

    如何在 WPF 应用程序中获取组件 2 层深处的子项?

  4. 4

    如何在gnome应用程序列表中删除/编辑程序?

  5. 5

    如何在 MFC 应用程序中添加文档菜单?

  6. 6

    如何在Windows 10中显示已安装的应用程序列表(仅“ Metro”)?

  7. 7

    如何在tomcat服务器中获取所有已部署的应用程序

  8. 8

    如何在tomcat服务器中获取所有已部署的应用程序

  9. 9

    iOS - 如何在 AppsFlyer 的 One-Link 中获取参数。应用程序已安装并启动

  10. 10

    在MFC应用程序中动态创建控件

  11. 11

    在MFC应用程序中动态创建控件

  12. 12

    如何在GNOME 3中编辑“应用程序”菜单?

  13. 13

    如何在iOS应用程序中编辑PDF表单?

  14. 14

    如何在GNOME 3中编辑“应用程序”菜单?

  15. 15

    如何在iOS应用程序中编辑PDF表单?

  16. 16

    如何在 Lubuntu 中编辑应用程序面板菜单?

  17. 17

    如何在iOS中从我的应用程序获取所有消息传递应用程序列表

  18. 18

    如何在heroku中复制已部署的应用程序?

  19. 19

    如何在 Windows 中过滤已执行的应用程序?

  20. 20

    如何获取应用程序中数组的最大索引

  21. 21

    如何在 Ionic 混合应用程序中获取列表中的数据

  22. 22

    如何在 UWP 应用程序中获取当前在 Azure VM 中运行的进程列表

  23. 23

    如何在Windows 10通用应用程序上获取已配对的蓝牙设备的列表

  24. 24

    如何在Android应用程序中获取Facebook好友列表

  25. 25

    如何在列表中获取所有共享应用程序(安装在设备上)?

  26. 26

    如何在Ember.js 3.18中获取应用程序的所有路由列表?

  27. 27

    如何在列表中获取所有共享应用程序(安装在设备上)?

  28. 28

    如何在Android应用程序中获取Facebook好友列表

  29. 29

    有没有办法获取在MFC应用程序中控件映射到的处理函数?

热门标签

归档