码迷,mamicode.com
首页 > 其他好文 > 详细

禁止LISTCTRL表头拖动

时间:2017-05-07 01:00:02      阅读:368      评论:0      收藏:0      [点我收藏+]

标签:pre   wpa   note   err   listview   bool   ctr   cas   clistctrl   

禁止ListCtrl表头拖动(Prevent CListCtrl column resizing)
/*The header control in the ListView control sends notification to the parent window (e.i. the ListView) before it begins resizing a column. We can override the OnNotify() function in the CListCtrl derived class to handle this notification. The code below prevents resizing of all columns. Note that the resize cursor still shows up. */
BOOL CMyListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
{ 
switch (((NMHDR*)lParam)->code) 
{ 
case HDN_BEGINTRACKW: 
case HDN_BEGINTRACKA: 
*pResult = TRUE; // disable tracking 
return TRUE; // Processed message 
}

return CListCtrl::OnNotify(wParam, lParam, pResult); 
}   
/*
If you want to prevent resizing of only one column, you should check for the value in iItem field of the HD_NOTIFY structure. The code below stops only the first column from being resized. */

BOOL CMyListCtrl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
{ 
HD_NOTIFY *pHDN = (HD_NOTIFY*)lParam;

if((pHDN->hdr.code == HDN_BEGINTRACKW || pHDN->hdr.code == HDN_BEGINTRACKA) 
&& pHDN->iItem == 0) // Prevent only first (col# 0) from resizing 
{ 
*pResult = TRUE; // disable tracking 
return TRUE; // Processed message 
}

return CListCtrl::OnNotify(wParam, lParam, pResult); 
} 

 

禁止LISTCTRL表头拖动

标签:pre   wpa   note   err   listview   bool   ctr   cas   clistctrl   

原文地址:http://www.cnblogs.com/ddos5/p/6819227.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!