2010-04-22 13 views
6

Gezgini gibi liste görünümü öğesi oluşturmaya çalışıyorum. Üzerine çift tıkladığımda seçilen öğeyi almak istiyorum.Seçilen öğeyi, ListView win32 API'sinde edin

Bu yüzden yolu almak ve görüntülenecek dosyayı bulmak için kullanabilirim. Senddlgmessage tarafından ağaç görünümünde yapabilirim. Ama liste görünümünde çalışmıyor gibi görünüyor.

+0

Sen ListView seçilen öğeyi alamıyorum? Ne işe yaramıyor? –

cevap

15

sadece C++ ham liste görünümü denetimi kullanıyorsanız, böyle bir şey yapmak gerekir:

// 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

Çok teşekkürler. Profilinizi okudum, sizin gibi bir guruyla tanıştığımız için çok şaşkın ve gerçekten minnettarım :) – nXqd

+0

bir soru daha: İndeks olsun, metnini almak istersem ne yapmalıyım? – nXqd

+2

ListView_GetItem makroyu, LVITEM yapısında iItem ile ilgilendiğiniz öğenin dizinine geçirerek kullanın. Sadece meraktan dolayı, bunu ham winapi'de neden yapıyorsunuz? C++ kullanmak zorundaysanız mfc büyük bir yardım mı? Eğer C# – Grammarian