void CLocFileView::OnDblclkLocFile(NMHDR* pNMHDR, LRESULT* pResult)
{
NMLVDISPINFO* pLocInfo=(NMLVDISPINFO*)pNMHDR;
CString str,buf;
int iIcon,iIconSel;
str.Format("%d",pLocInfo->item);
if(str=="-1")
return;
int nItem=atoi(str);
DWORD dwFlag=m_ctLocFile.GetItemData(nItem);//Get the lParam member of the LVITEM struct
}
为什么这里用str.Format("%d",pLocInfo->item);得到点击的是那一行?
这样得到的应该是LVITEM 结构的mask成员吧?但是用int ii = pLocInfo->item.iItem ;
为什么不行呢?
{
NMLVDISPINFO* pLocInfo=(NMLVDISPINFO*)pNMHDR;
CString str,buf;
int iIcon,iIconSel;
str.Format("%d",pLocInfo->item);
if(str=="-1")
return;
int nItem=atoi(str);
DWORD dwFlag=m_ctLocFile.GetItemData(nItem);//Get the lParam member of the LVITEM struct
}
为什么这里用str.Format("%d",pLocInfo->item);得到点击的是那一行?
这样得到的应该是LVITEM 结构的mask成员吧?但是用int ii = pLocInfo->item.iItem ;
为什么不行呢?
NMHDR hdr;
int iItem;
int iSubItem;
UINT uNewState;
UINT uOldState;
UINT uChanged;
POINT ptAction;
LPARAM lParam;
} NMLISTVIEW, FAR* LPNMLISTVIEW;
str.Format("%d",pLocInfo->item);
中,str得到的是mask的值。而其实这时候iItem,iSubItem,lParam以及pszText的值都是空的。因为这个结构赋值的原则是根据mask的设定来赋值,由于并没有于先设定mask,所以这些值自然都是空的
不懂,只是猜测会不会是因为mask处在这个结构体的首位置。