CListCtrl 设置了某行=0隐藏起来,如何限制鼠标再拖动改行?
1)在小CListCtrl 扩展控件重写OnNotify()消息,可能这个类已经是重新绘制了边框和颜色的原因
导致 鼠标拖动变体栏,窗口就退出
2)改在CListCtrl 的子类CHeaderCtrl 里重写OnNotify()消息,, 但是不起作用。还是能拖拉
BOOL CHeaderCtrlCl::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) //禁止List控件列与列之间的拖拉
{
HD_NOTIFY *phdn = (HD_NOTIFY *)lParam;
if((phdn->hdr.code==HDN_BEGINTRACKA || phdn->hdr.code==HDN_BEGINTRACKW )
&& (phdn->iItem==0 ||phdn->iItem==1))
{
return *pResult=TRUE;
}
return CHeaderCtrlCl::OnNotify(wParam, lParam, pResult);
}
在
BOOL CHeaderCtrlCl::OnChildNotify(UINT msg, WPARAM wp, LPARAM lp, LRESULT* pRes)
能禁止某列拖动吗?由于我是初学,请见谅,谢谢!
[解决办法]
直接在控件的属性里找找,不用重载吧
[解决办法]
拖动某行是自己实现的吧,再改改限制要隐藏的行就好了
[解决办法]
HDN_BEGINTRACK
HDN_BEGINTRACK
phdn = (LPNMHEADER) lParam;
Notifies a header control's parent window that the user has begun dragging a divider in the control (that is, the user has pressed the left mouse button while the mouse cursor is on a divider in the header control). This
[解决办法]
呵呵,恭喜~