如何获取选定的树视图项文本
how to get Selected treeview item text
我正在使用WINAPI树视图来显示一些数据。当我选择一个电视项目时,我必须获取选定的TV_ITEM文本。我正在使用以下代码
case WM_NOTIFY:
switch( ((LPNMHDR)lParam)->code)
{
case TVN_SELCHANGED:
{
NMTREEVIEW* pnmtv = (LPNMTREEVIEW)lParam;
LPTSTR str = (pnmtv->itemNew.pszText);
MessageBox( hWnd, str,"load",MB_OK );
}
break;
}
我无法获得正确的值,我得到了某种垃圾值。消息框显示某种特殊字符(那些不在键盘中)
谁能帮我,如何获取所选项目文本。提前致谢
你读过TVN_SELCHANGED的文档吗?它从未提及pszText。你需要
TVITEM item;
item.hItem = pnmtv->itemNew.hItem;
item.mask = TVIF_TEXT;
item.pszText = // allocate buffer
item.cchTextMax = // length of buffer
::SendMessage(hWnd, TVM_GETITEM, 0, (LPARAM)&item);
然后你会得到item.pszText
附言如果您正在使用 Windows API,您多久看到一次 Windows 为您分配和管理字符串?它只是没有发生。
相关文章:
- 文本文件中的单词链表
- 从命令行c++发送文本文件名
- 在C++程序中输入的文本文件将不起作用,除非文本被复制和粘贴
- GTKMM 文本视图 epands 而不是滚动
- 如何在透视视图中绘制文本
- 从C++访问列表视图委托的文本
- Qt c++ 在表格视图中换行文本(富文本)
- Android NDK-如何从TAP中获取坐标并将其显示在文本视图上
- 自定义图形列表视图项目不更改文本颜色
- 如何在WTL的树视图控件中包装项文本
- 如何获取选定的树视图项文本
- 在 C/C++ 中将输出外壳流(cout 或 printf)显示到文本视图小部件 (GTK+ 3)
- SFML文本在小视图中显得巨大
- 在列表视图中绘制3个图像和文本
- 文本在图形视图在Qt
- Qt模型/视图委托:如何简单地转换文本数据
- Qt:带文本浏览器的模型/视图概念
- 具有透明文本背景而不是默认白色的树视图节点
- 在gtk3文本视图中显示字符串时出现问题
- 高分辨率显示器导致视图文本在MFC中模糊