列表控件的表头如何改成单击下拉的? 想单击列表控件的某几个列的表头时,可以出现下拉以供选择(CComboBox)。比如单击“单位”那一列的表头,下拉有“cm、dm”可以选择,点cm该列就都是cm。要重载CListCtrl,CHeaderCtrl还是两个都要?具体应该怎么实现?谢谢指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你可以将CComboBox和CListCtrl(不带表头)组合一下使用 也就这个方法。或者在用CComboBox盖住CListCtrl,位置要计算好。 子类化HeadCtrl可以参考这个http://www.codeproject.com/Articles/1796/XListCtrl-A-custom-draw-list-control-with-subitem 谢谢大家! 将CComboBox和CListCtrl(不带表头)组合一下使用这样看起来怪怪的,而且我并不是每一列表头都是组合框。向版主给的工程例子太复杂了,源码很多看不懂。所以现在是在对话框中响应LVN_COLUMNCLICK消息,void CXXXDlg::OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult){}打算将隐藏的组合框在点击表头时显示出来,问题是不知道如何获取点击的是表头的第几列,以及表头第几列的CRect范围。请大家帮忙指点 int sb=pNMListView->iSubItem;再通过 BOOL GetColumn( int nCol, LV_COLUMN* pColumn ) const;或 CListCtrl::GetColumnWidth可以计算出该Column的RECT。也可以用:CListCtrl::GetHeaderCtrlCHeaderCtrl* GetHeaderCtrl( ); 想散点分 求教!TrueType 解析,预览,修改,裁剪 读取MHT文件时发生的奇怪现象? 请高手帮忙 为什么VC编译突然变得很慢 用C语言怎么实现与.mdb数据库的连接? 请做过视频聊天(视频压缩)的大侠帮忙! 回答出来才能称做高手 .net做的整个工程怎样在vc6.0来打开 我实现了一个系统托盘的右键菜单,如果不选择其中的一项,操作其它程序时,这个菜单不会自动消失,我该怎么做啊???谢谢大家 在DLL中封装socket的连接问题! 使一个窗口3D游戏模拟全屏,不成功。 VC6创建一个ATL项目,没有找到Com要求的各个接口啊?
也就这个方法。
或者在用CComboBox盖住CListCtrl,位置要计算好。
可以参考这个
http://www.codeproject.com/Articles/1796/XListCtrl-A-custom-draw-list-control-with-subitem
将CComboBox和CListCtrl(不带表头)组合一下使用
这样看起来怪怪的,而且我并不是每一列表头都是组合框。
向版主给的工程例子太复杂了,源码很多看不懂。所以现在是在对话框中响应LVN_COLUMNCLICK消息,
void CXXXDlg::OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
}
打算将隐藏的组合框在点击表头时显示出来,问题是不知道如何获取点击的是表头的第几列,以及表头第几列的CRect范围。请大家帮忙指点
或 CListCtrl::GetColumnWidth可以计算出该Column的RECT。
也可以用:
CListCtrl::GetHeaderCtrl
CHeaderCtrl* GetHeaderCtrl( );