获取ctreectrl选项的值全错,chatgpt回答正确

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
    DWORD   dwpos = GetMessagePos();  
    TVHITTESTINFO ht = {0};  
 
    ht.pt.x = GET_X_LPARAM(dwpos);
    ht.pt.y = GET_Y_LPARAM(dwpos);
    ::MapWindowPoints(HWND_DESKTOP,pNMHDR->hwndFrom,&ht.pt,1); //把屏幕坐标转换成控件坐标
    TreeView_HitTest(pNMHDR->hwndFrom,&ht);   //确定点击的是哪一项
 */
    TVHITTESTINFO HitTestInfo;
    ZeroMemory(&HitTestInfo, sizeof(HitTestInfo));
    HitTestInfo.flags = TVHT_ONITEM;
    GetCursorPos(&HitTestInfo.pt);
    ScreenToClient(&HitTestInfo.pt);
    TreeView_HitTest(pNMHDR->hwndFrom, &HitTestInfo);
  
    CString strOpcServerName = m_treectrl1.GetItemText(HitTestInfo.hItem);
 
    ::MessageBox(NULL, strOpcServerName, NULL, MB_ICONWARNING);
    /*
        // TODO: 在此添加控件通知处理程序代码
        LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR);
        DWORD   dwpos = GetMessagePos();  
        TVHITTESTINFO ht = {0}; 
        ht.pt.x = GET_X_LPARAM(dwpos);
        ht.pt.y = GET_Y_LPARAM(dwpos);
        ::MapWindowPoints(HWND_DESKTOP,pNMHDR->hwndFrom,&ht.pt,1); //把屏幕坐标转换成控件坐标
        HTREEITEM  hItem =  m_treectrl1.HitTest(ht.pt);
        if (hItem)
        {
            CString strOpcServerName = m_treectrl1.GetItemText(hItem);
            int nID = m_treectrl1.GetItemData(hItem);
            CString  strID;
            strID.Format(L"ID  =  %d \r\n" , nID);
          
        }
        */

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void CYourDialog::OnTreeCtrlDoubleClick(NMHDR* pNMHDR, LRESULT* pResult)
{
    // 获取 NM_TREEVIEW 消息的结构体
    NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
 
    // 获取选中项的句柄
    HTREEITEM hSelectedItem = m_treeCtrl.GetSelectedItem();
 
    // 获取选中项的文本
    CString selectedText = m_treeCtrl.GetItemText(hSelectedItem);
 
    // 在此处可以使用选中项的值进行后续操作
    // ...
 
    *pResult = 0;
}

  

posted on   lydstory  阅读(13)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2022-08-30 esp32的esp_wifi(wifi驱动库),esp_netif(网络接口) ,lwip(轻量级TCP/IP网络协议栈)是什么?
2022-08-30 esp32 获取ip
2022-08-30 esp32 启动一个任务
2022-08-30 esp32
2022-08-30 esp32 ap sta`
2022-08-30 esp32 有线网口 可以同时进来数据出去数据吗? 不会是只能出去 或者只能进来吧? 谁搞过
2022-08-30 esp32 启用NAPT

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示