CListCtrl
weed2007
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ClistCtrl虚拟列表实现按键查找
响应LVN_ODFINDITEM. 以下为例子: //This functions is called when the user "writes" in the list box to find an item. void CVirtualListDlg::OnOdfi原创 2011-08-12 09:11:58 · 1337 阅读 · 0 评论 -
CListCtrl的多行删除
1.普通ListCtrl和虚拟列表都可以采用下面的方式删除多行 int nSelItem = listctrl.GetNextItem(-1,LVNI_SELECTED); while (nSelItem != -1) { listctrl.DeleteItem(nSelItem); nSelItem = listctrl.GetNextItem(-1,LVNI_SELECTED);原创 2011-07-04 11:24:29 · 928 阅读 · 0 评论 -
模拟单击ClistCtrl消息
NMITEMACTIVATE NMItemAct; NMItemAct.iItem = nItem; NMItemAct.iSubItem = nSubItem; NMHDR hdr; hdr.hwndFrom = m_listTime.m_hWnd; hdr.id原创 2011-10-28 19:39:13 · 1102 阅读 · 0 评论 -
CListCtrl选中行
1、设置CListCtrl选中行 m_list.SetItemState(nIndex,LVIS_FOCUSED | LVIS_SELECTED,LVIS_FOCUSED | LVIS_SELECTED); 注意:这句代码只是让指定行高亮显示,如果使用后再用GetSelectionMark函数来得到选中行,结果往往是错误的。比如,先用鼠标点击选中第5行,调用GetSelectionMark函数转载 2011-10-27 12:57:31 · 1033 阅读 · 0 评论 -
CListCtrl双击列头改变宽度
LRESULT CListCtrlTip::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { if (WM_NOTIFY == message) { NMHEADER *pHDN = (LPNMHEADER)lParam; switch(((NMHDR*)lParam)->原创 2012-11-01 16:02:43 · 1355 阅读 · 0 评论 -
改变CListCtrl列的最大文字长度
CListCtrl每列默认最多只能显示260个字符,用以下方法可以扩展。 (1)重载虚函数DrawItem virtual void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct ); void CListCtrlTip::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct) { CDC* pDC =原创 2012-11-01 15:57:55 · 2287 阅读 · 1 评论 -
防止CListCtrl闪烁的几种方法
//…… //恢复窗口重绘 m_ctlList.SetRedraw(TRUE); 2.使用LockWindowUpdate禁止窗口重绘,操作完成后,用UnlockWindowUpdate恢复窗口重绘 m_ctlList.LockWindowUpdate(); //原创 2010-11-07 16:49:00 · 773 阅读 · 0 评论 -
CListCtrl最后一列自适应宽度
最后一列调用SetColumnWidth时,第二个参数设置为LVSCW_AUTOSIZE_USEHEADER。原创 2015-08-26 21:05:09 · 2462 阅读 · 1 评论 -
隐藏CListCtrl滚动条
今天做自绘CListCtrl的滚动条,需要先隐藏CListCtrl的自带滚动条,然后再将自己绘制的继承自CStatic的类,封装成滚动条,移动到CListCtrl原滚动条所在位置即可。但是遇到个头疼的问题,CListCtrl的滚动条隐藏不了。查询了好多资料,终于找到了答案: (以下文章摘自 http://blog.sina.com.cn/s/blog_48f93b530100eg3z.htm转载 2015-08-28 22:55:02 · 2614 阅读 · 0 评论 -
CListCtrl的复选框只有在常规的insertItem中才有效。
CListCtrl的复选框只有在常规的insertItem中才有效。原创 2011-04-04 18:15:00 · 653 阅读 · 0 评论 -
CListCtrl插入记录后,解决按序号的1.11.12...2.21..这样排列的问题
1. 去掉LVS_SORTASCENDING风格 2. InserItem不要老是用InsertItem(0,....),这样永远是在第一个位置插入,而应当用InsertItem(i++,...)的形式原创 2011-03-15 09:40:00 · 1022 阅读 · 0 评论 -
listctrl排序
只需要把LVS_SORTASCENDING属性去掉原创 2010-11-19 13:53:00 · 658 阅读 · 0 评论 -
CListCtrl在SetImageList之后,如何去掉图像;;如何改变ClistCtrl行高
有时候在程序中需要动态的让CListCtrl显示或不显示前面的图像。 通常设置图像可以这样: CImageList ImageList; ImageList.Create(IDB_AFFIX, 16, ILC_MASK, RGB(255, 2原创 2011-04-28 08:56:00 · 1892 阅读 · 0 评论 -
虚拟列表第一列显示图标的办法
1. 加载图像 /* 加载图像 */ m_imageList.Create(16,16,ILC_COLOR32|ILC_MASK,2,2); m_imageList.Add(AfxGetApp()->LoadIcon(IDI_ICONNOLIN原创 2011-03-16 16:36:00 · 790 阅读 · 0 评论 -
怎样让clistctrl禁止显示水平滚动条,但可以显示垂直滚动条
搞定 右键控件属性设置中将no scroll选中。 if(m_lst_ip.GetItemCount( ) > 22) { SCROLLINFO si; si.cbSize = sizeof( SCROLLINFO ); si.fMask = SIF_PAGE | SIF_RANGE; si.nMin = 0; si.nMax = m_lst转载 2015-08-31 23:38:02 · 6377 阅读 · 0 评论
分享