自已到\MICROSOFT VISUAL STUDIO\VC98\Include\COMMCTRL.H 中看一下,你会看到HD_NOTIFY和NMHEADER是一回事,另外在MSDN中有关NMHEADER的说明中也说了,后者只不过是前者的又一个名字。不过我试了一下,根本就不会响应这个消息,还是用其它的吧,比如响应NM_CLICK消息:
void CYourDlg::OnClickYourList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR; int nSelected=pNMListView->iItem;//如果点击的是空白区,这个值应该是-1;
if(nSelected>=0)
{
//写吧,你要做什么
}
…………
}或干脆用HDN_ITEMCHANGED消息
void CYourDlg::OnItemchangedYourList(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
// TODO: Add your control notification handler code here
NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;
int nSelected=pNMListView->iItem;
if(nSelected>=0)
{
………………
void CYourDlg::OnClickYourList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR; int nSelected=pNMListView->iItem;//如果点击的是空白区,这个值应该是-1;
if(nSelected>=0)
{
//写吧,你要做什么
}
…………
}或干脆用HDN_ITEMCHANGED消息
void CYourDlg::OnItemchangedYourList(NMHDR* pNMHDR, LRESULT* pResult)
{
HD_NOTIFY *phdn = (HD_NOTIFY *) pNMHDR;
// TODO: Add your control notification handler code here
NM_LISTVIEW* pNMListView=(NM_LISTVIEW*)pNMHDR;
int nSelected=pNMListView->iItem;
if(nSelected>=0)
{
………………
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货