MFC ClistCtrl.GethotItem()返回值始終 -1

listView使用過程中,有一個GetHotItem的函數可以得到選中的item,在我使用中,發現一直都是-1。

我百度很久,依然沒有解決程序問題,然後自己調試解決了。總結了下可能原因:

1.設置風格爲LVS_EX_TRACKSELECT | LVS_EX_FULLROWSELECT

style = m_pWndListView->GetStyle();

style |=LVS_EX_TRACKSELECT | LVS_EX_FULLROWSELECT;

SetExtendedStyle(style);

一般這個時候你就能得到item所得到的值了

2.如果你在listview裏面有一個右鍵菜單的操作。那就不能需要在右鍵建立菜單之前,保存GetHotItem的值,然後在菜單彈出以後,在SetHotItem,這樣的話,在使用GetHotItem就能成功得到item值了。

原因是因爲建立菜單以後,listview的選中會消失。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章