LVN_BEGINDRAG 滑鼠左鍵正在被觸發以便進行拖放操作(當滑鼠左鍵開始拖拽列表視圖控制項中的項目時產生)
LVN_BEGINRDRAG 滑鼠右鍵正在被觸發以便進行拖放操作(當滑鼠右鍵開始拖拽列表視圖控制項中的項目時產生)
LVN_BEGINLABELEDIT 開始編輯項的文本
LVN_COLUMNCLICK 單擊列(當滑鼠單擊列表視圖控制項列標題時產生)
NM_CLICK 當滑鼠單擊列表視圖控制項時產生
LVN_COLUMNCLICK 單擊列
LVN_DELETEALLITEMS 刪除所有項
LVN_DELETEITEM 刪除某個項
NM_DBLCLK 當滑鼠雙擊列表視圖控制項時產生
LVN_ENDLABELEDIT 結束對項文本的編輯
LVN_GETDISPINFO 請求需要顯示的信息
LVN_GETINFOTIP 請求顯示在工具提示視窗內的附加的文本信息
LVN_HOTTRACK 滑鼠滑過某個項
LVN_INSERTITEM 當向列表視圖控制項插入項目時產生
lVN_ITEMACTIVATE 激活某個項
LVN_ITEMCHANGED 某個項已經發生變化
LVN_ITEMCHANGING 某個項目正在發生變化
NM_KILLFOCUS 當視表列圖控制項失去焦點時產生
LVN_KEYDOWN 某個鍵被按下
LVN_MARQUEEBEGIN 開始某個框線選擇
NM_OUTOFMEMORY 當記憶體溢出時產生
LVN_ODCACHEHINT 虛擬列表控制項的顯示區域的內容發生了變化
LVN_ODSTATECHANGED 虛擬列表的控制項的某個項或某個範圍內的項已經發生變化
LVN_ODFINDITEM 需要擁有者查找一個特定的回調項
NM_RCLICK 當滑鼠右鍵單擊列表視圖控制項時產生
NM_RDBLCLK 當滑鼠右鍵雙擊列表視圖控制項時產生
NM_SETFOCUS 當列表視圖控制項獲得焦點時產生
LVN_SETDISPINFO 父視窗必須更新控制項為項所維護的信息
註解:
HDN:Header Notify
LVN:ListView control Notify
NM:Notify Message
TVN:TreeView control Notify
LVN_ITEMCHANGED訊息的處理
訊息處理函式:
void C***Dlg::OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
if(pNMListView->uChanged==LVIF_STATE){
if(pNMListView->uNewState & LVIS_SELECTED) {
//處理內容
int nItem=pNMListView->iItem;
CString value[6];
for(int i=0;i<6;i++)
{
value[i]=m_List.GetItemText(nItem,i);
}
}
}
*pResult = 0;
}
訊息處理函式中的兩個if條件句一定要有,否則可能出現多次進入處理內容的問題。
滑鼠雙擊列表項事件的處理
回響NM_DBLCLK訊息:
void CDisSalaryDlg::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW *pNMListView=(NM_LISTVIEW *)pNMHDR;
int nItem=pNMListView->iItem;
if(nItem>=0 && nItem<m_List.GetItemCount()) //判斷雙擊位置是否在有數據的列表項上面
{
.............
}
*pResult = 0;
}