2010-04-22 29 views
6

我尝试创建类似explorer的列表视图项目。当我双击它时,我想获取选定的项目。在ListView中获取所选项目win32 API

所以我可以用它来获取路径并找到要显示的文件。我可以通过senddlgmessage在treeview中完成它。但它看起来不能在listview上工作。

+0

无法从ListView中获取所选择的项目?什么不行? – 2010-04-22 11:16:34

回答

15

如果你只是使用C++中的原始ListView控件,你需要做的是这样的:

// Get the first selected item 
int iPos = ListView_GetNextItem(hListView, -1, LVNI_SELECTED); 
while (iPos != -1) { 
    // iPos is the index of a selected item 
    // do whatever you want with it 

    // Get the next selected item 
    iPos = ListView_GetNextItem(hListView, iPos, LVNI_SELECTED); 
} 
+0

非常感谢。我读过你的个人资料,我很惊讶,真的很高兴能遇到像你这样的导师:) – nXqd 2010-04-22 16:06:55

+0

还有一个问题:我得到了索引,如果我想得到它的文本,该怎么办? – nXqd 2010-04-22 16:17:20

+2

使用ListView_GetItem宏,将iItem设置为您感兴趣的项目索引的LVITEM结构。 只是出于好奇,您为什么要在原始winapi中做这个?如果你必须使用C++,mfc是一个很大的帮助? WinForms是一个更大的帮助,如果你可以使用C# – Grammarian 2010-04-27 06:01:41