文章类型: VC&C++
关键词: VC,MFC,ListCtrl,控件,列宽,固定,不可变
内容摘要: 使MFC中的ListCtrl控件的列宽固定不可变

在VC的MFC中的ListCtrl控件的列宽固定不可变

2017/11/17 8:22:14    来源:apple    阅读:

通过重写虚函数OnNotify实现,OnNotify函数是CListCtrl类中的虚函数,通过重载该函数,来修改ListCtrl控件的一些属性。

具体方法:

假设有类A:

class A : B
{}

class B:CListCtrl
{}

在类A的头文件中:

//头文件中     
virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult);

在类A的cpp文件中:

//禁止控件列宽可变  
BOOL A::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 B::OnNotify(wParam, lParam, pResult); //注意这里 
}

至此,我们类A中的ListCtrl控件的列宽便是固定不可变的了。(注意:OnNotify函数不需要我们自己去调用)

↑ 上一篇文章:盘点世界十大名著(二)续篇 关键词:盘点,世界,文学经典,十大名著,2006年,读者文摘,纽.. 发布日期:2017/11/16 9:00:02
↓ 下一篇文章:在VC中将CListCtrl的列宽固定 关键词:VC,CListCtrl,列宽,固定 发布日期:2017/11/17 8:31:10
相关文章:
在VC中将CListCtrl的列宽固定 关键词:VC,CListCtrl,列宽,固定 发布日期:2017-11-17 08:31
VC++/MFC精讲多练#004:DIY一个漂亮的滚动条控件 关键词:VC++/MFC精讲多练#004:DIY一个漂亮的滚动条控件 发布日期:2016-10-09 14:40
MFC OCX 控件事件的添加和处理 关键词:VC,C++,MFC,OCX,控件,事件,添加,处理 发布日期:2018-05-29 15:23
相关目录:.NETVC&C++软件开发
我要评论
正在加载评论信息......