如何更改CListCtrl每行的高度?

mybios 2004-11-07 04:53:16
如题。
我的类CMyListCtrl继承了CListCtrl,如何在CMyListCtrl里设置每行数据的高度?
...全文
286 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
永远的麦田 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
将字体设为更大号的就可以了
回复
相关推荐
发帖
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
帖子事件
创建了帖子
2004-11-07 04:53
社区公告
暂无公告