如何更改CListCtrl每行的高度?

mybios 2004-11-07 04:53:16
如题。
我的类CMyListCtrl继承了CListCtrl,如何在CMyListCtrl里设置每行数据的高度?
...全文
603 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
永远的麦田 2005-03-23
  • 打赏
  • 举报
回复
正是我所求的,谢谢了。
mybios 2004-11-08
  • 打赏
  • 举报
回复
按照里面做了。但是改变不了。。有没有例子?
guangsan 2004-11-08
  • 打赏
  • 举报
回复
一般来说,有两种方法:
1、利用比较高的透明图片作为listctrl的imagelist;
2、如 rwx_tech(阿正) 所述,详见

http://www.codeguru.com/Cpp/controls/listview/advanced/article.php/c1013/
rwx_tech 2004-11-08
  • 打赏
  • 举报
回复

ON_WM_MEASUREITEM_REFLECT()

响应如上消息; 并改变响应函数如下;

afx_msg void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);

void CXXXListCtrl::MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct)
{
lpMeasureItemStruct->itemHeight = m_nItemHeight; (m_nItemHeight即你想要的高度)
}

void CXXXListCtrl::SetItemHeight()
{

CRect rcWin;

GetWindowRect(&rcWin);

WINDOWPOS wp;

wp.hwnd = m_hWnd;

wp.cx = rcWin.Width();

wp.cy = rcWin.Height();

wp.flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER;

SendMessage(WM_WINDOWPOSCHANGED, 0, (LPARAM)&wp);
}

ListCtrl创建后, 如果收到WM_WINDOWPOSCHANGED消息, 它会调用计算行高的函数MeasureItem(...), 你在这个函数里面设定行高即可;

http://www.codeproject.com有更详细的说明;

tan_jianhui 2004-11-08
  • 打赏
  • 举报
回复
具体的怎么做?
Kudeet 2004-11-07
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3489/3489896.xml?temp=.8522913
mybios 2004-11-07
  • 打赏
  • 举报
回复
不想加大字号。。也不想用CImageList,那怎么办?
oyljerry 2004-11-07
  • 打赏
  • 举报
回复
用CImageList来控制高度
goldenfall 2004-11-07
  • 打赏
  • 举报
回复
将字体设为更大号的就可以了

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧