曾经做过让某列headerctrl失效的功能,主要是想保持headerctrl宽度不变,方法是重载listctrl的虚函数onnotify,在这个函数中判断某个列的索引isubitem,如果是要失效的headerctrl则设置*iresult = true表示消息不再往下处理,同时return,代码如下:
{ 【程序编程相关:直接用socket实现HTTP协议(下载】bool cstylelist::onnotify(wparam wparam, lparam lparam, lresult* presult) 【推荐阅读: 成为软件高手的几个忌讳 (转贴)】
nmheader* pnmheader = (nmheader*)lparam; 【扩展信息:钩子(HOOK)机制的使用 】 // todo: add your specialized code here and/or call the base class if (pnmheader->iitem == 0) { *presult = true; return true; } return clistctrl::onnotify(wparam, lparam, presult);}其结果是,被失效的headerctrl向listctrl发送的所有通知消息都不被处理,导致对headerctrl的拉动.拖拽等功能将全部失效.
现在,我要做一个很简单的功能:在这个失效headerctrl上设置一个位图图标,由于这个headerctrl的通知消息全部都不被listctrl处理,设置位图的操作因此也失效了,是需要改进代码的时候了:
... 下一页