2010-04-22 31 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