我要的是click的时候的。。不是changed的时候的。。呵呵~~~有其他的吗?

解决方案 »

  1.   

    NM_CLICK
        lpnmitem = (LPNMITEMACTIVATE) lParam
      

  2.   

    NM_CLICK
        lpnmitem = (LPNMITEMACTIVATE) lParamLVN_COLUMNCLICK
    Notifies a list view control's parent window that a column was clicked. This notification message is sent in the form of a WM_NOTIFY message. 
      

  3.   

    是Checkbox的click,不是Item的click....呵呵~~~NM_CLICK
        lpnmitem = (LPNMITEMACTIVATE) lParam 这个怎么判断是checkbox的click呢?能详细点吗?
      

  4.   

    回复人: kylinux(无知者无畏) (2001-4-4 2:05:00)  得0分 
    panda_w的方法好!比如可以如下:
    (mylistdlg.h)afx_msg void OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult);(mylistdlg.cpp)ON_NOTIFY(LVN_ITEMCHANGED, IDC_MY_LIST, OnItemchangedList)void Cmylistdlg::OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
    *pResult = 0;if (pNMListView->uOldState == 0 && pNMListView->uNewState == 0)
    return; // No change        // Old check box state
    BOOL bPrevState = (BOOL)(((pNMListView->uOldState & 
    LVIS_STATEIMAGEMASK)>>12)-1);          if (bPrevState < 0) // On startup there's no previous state 
    bPrevState = 0; // so assign as false (unchecked)// New check box state
    BOOL bChecked=(BOOL)(((pNMListView->uNewState & LVIS_STATEIMAGEMASK)>>12)-1);          if (bChecked < 0) // On non-checkbox notifications assume false
    bChecked = 0; if (bPrevState == bChecked) // No change in check box
    return;// Now bChecked holds the new check box state
            // ... do your process
    }