设置MFC中的ListCtrl控件的列宽固定不可变
通过重写虚函数OnNotify实现,OnNotify函数是CListCtrl类中的虚函数,通过重载该函数,来修改ListCtrl控件的一些属性。
具体方法:
在控件对应的 .cpp文件中:
//禁止控件列宽可变
BOOL XXXXXXX::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
HD_NOTIFY pHDN = (HD_NOTIFY)lParam;
switch(((NMHDR*)lParam)->code)
{
case HDN_BEGINTRACKW://拖动
case HDN_BEGINTRACKA:
if (pHDN->iItem == Col) // Col—设定为自己不想改变的列值,比如Col=0,就是第1列
{
*pResult = TRUE;
return TRUE;
}
break;
}
return XXXXXXX::OnNotify(wParam, lParam, pResult); //注意这里
}
至此,我们的ListCtrl控件的列宽便是固定不可变的了。(注意:OnNotify函数不需要我们去调用,会自动调用)