VC2010 CListctrl列表控件Report模式如何换行
2个回答
展开全部
主要方法有两类
1 自绘
指定 LBS_OWNERRDRAW 属性
重载DrawItem();
OnMeasureitem();
实现自绘Item
2 通过设置属性LVS_REPORT(详细列表)和扩展属性LVS_EX_TRACKSELECT(自动换行)实现
Create中指定LVS_REPORT格式
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
或 GetWindowLong获取属性,添加LVS_EX_TRACKSELECT
DWORD dwStyle=GetWindowLong(m_list.m_hWnd,GWL_STYLE);
SetWindowLong(m_list.m_hWnd,GWL_STYLE,dwStyle|LVS_REPORT);
DWORD styles=m_list.GetExtendedStyle();
m_list.SetExtendedStyle(styles|LVS_EX_TRACKSELECT|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
1 自绘
指定 LBS_OWNERRDRAW 属性
重载DrawItem();
OnMeasureitem();
实现自绘Item
2 通过设置属性LVS_REPORT(详细列表)和扩展属性LVS_EX_TRACKSELECT(自动换行)实现
Create中指定LVS_REPORT格式
BOOL Create( DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );
或 GetWindowLong获取属性,添加LVS_EX_TRACKSELECT
DWORD dwStyle=GetWindowLong(m_list.m_hWnd,GWL_STYLE);
SetWindowLong(m_list.m_hWnd,GWL_STYLE,dwStyle|LVS_REPORT);
DWORD styles=m_list.GetExtendedStyle();
m_list.SetExtendedStyle(styles|LVS_EX_TRACKSELECT|LVS_EX_GRIDLINES|LVS_EX_FULLROWSELECT);
更多追问追答
追问
我设置了REPORT属性,然后在对话框的initialdialog函数中通过setextendestyle设置了LVSEXTRACKSELECT
但是没有成功,请问是哪里不对呢,我用的是VC2010
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询