问个有点难度的问题,ListCtrl能否添加一个列,该列实际存在,但是不可见? 我想在ListCtrl里面添加一列,这样的一列实际是存在的,但是用户实际是看不到的,能否做到? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不能,但你可以通过SetItemData和GetItemData额外保存你必要的数据 呵呵,我刚刚完成这样一个CListCtrl。 可以做到,把该列的长度设置为 0 就可以。========================================这个办法不错,不过要小心“非法”用户的拖拉操作哦,呵呵。happyparrot(为何我买彩票从来不中奖?没钱怎么办阿?) ---------------------------------------------------你是怎么做到的?能否谈一下原理? 原理比较简单阿。一是要将长度设置为0二是要派生CHeaderCtrl子类,在子类中响应OnChildNotify消息,截获鼠标拖拉修改宽度的事件,将这些事件屏蔽就OK了。样例代码://锁定第一列BOOL CSortHeaderCtrl::OnChildNotify(UINT msg, WPARAM wp, LPARAM lp, LRESULT* pRes){ NMHDR& nmh = *(NMHDR*)lp; if (nmh.code == HDN_BEGINTRACKA || nmh.code == HDN_BEGINTRACKW ||nmh.code == HDN_DIVIDERDBLCLICKA ||nmh.code == HDN_DIVIDERDBLCLICKW) { CRect rc; GetItemRect(0,rc); CPoint pt; GetCursorPos(&pt); ScreenToClient(&pt); if(pt.x < rc.Width() + 5) return *pRes=TRUE; // eat message to disallow sizing } // otherwise, pass to header control for default processing return CHeaderCtrl::OnChildNotify(msg, wp, lp, pRes);} OnChildNotify 是什么消息事件? 参考:http://www.vckbase.com/document/viewdoc/?id=675 是不是要放一些数据,比如ID之类的干吗不用SetItemData 登录框的制作? 学习vc有什么比较好的教程啊! 使用MAPI函数MAPISendMail碰到的问题,有点怪,专家请进 vc中关于快捷菜单的问题 关于用ATL添加资源管理器右键菜单的问题 用CAnimateCtrl播放avi文件的问题 有关于从文件夹里读取多个txt文件的问题 菜鸟问题?????? 串口调试助手发送数据00的问题 如何办理数字签名??? 能否在自己做的ActiveX控件上加其他控件? 编程实现指定exe文件的图标!!!急用,请各位不吝赐教,分不够再加
========================================这个办法不错,不过要小心“非法”用户的拖拉操作哦,呵呵。happyparrot(为何我买彩票从来不中奖?没钱怎么办阿?)
---------------------------------------------------
你是怎么做到的?能否谈一下原理?
二是要派生CHeaderCtrl子类,在子类中响应OnChildNotify消息,截获鼠标拖拉修改宽度的事件,将这些事件屏蔽就OK了。样例代码://锁定第一列
BOOL CSortHeaderCtrl::OnChildNotify(UINT msg, WPARAM wp, LPARAM lp, LRESULT* pRes)
{
NMHDR& nmh = *(NMHDR*)lp;
if (nmh.code == HDN_BEGINTRACKA || nmh.code == HDN_BEGINTRACKW
||nmh.code == HDN_DIVIDERDBLCLICKA ||nmh.code == HDN_DIVIDERDBLCLICKW)
{
CRect rc;
GetItemRect(0,rc);
CPoint pt;
GetCursorPos(&pt);
ScreenToClient(&pt);
if(pt.x < rc.Width() + 5)
return *pRes=TRUE; // eat message to disallow sizing
}
// otherwise, pass to header control for default processing
return CHeaderCtrl::OnChildNotify(msg, wp, lp, pRes);
}
干吗不用SetItemData