MFC控件List Control的样式LVS_与扩展样式LVS_EX_
1.
首先区分LVS_与LVS_EX_,哪些是常规样式,哪些是扩展样式:能在属性对话框里看到的样式都是常规样式,例如LVS_REPORT。
扩展样式:LVS_EX_CHECKBOXES您可以获得 ListView_GetCheckState 指定项目的复选框的状态。若要设置检查状态,请使用 ListView_SetCheckState。如果设置了此样式,则当用户单击该复选框,或按空格键在列表视图控件自动切换复选状态。LVS_EX_FLATSB扁平滚动条
列表视图中的启用平面滚动条。如果您需要更多的控制列表视图滚动条的外观,您应该操作平的滚动栏 Api 使用直接的列表视图滚动条。如果更改系统度量,您负责调整与 FlatSB_SetScrollProp 的滚动栏度量。有关进一步的详细信息请参阅平滚动条。LVS_EX_FULLROWSELECT选择整行
当选择某个项目时,强调了项目和其所有子项。此样式是仅在 LVS_REPORT 风格结合中可用。LVS_EX_GRIDLINES绘制表格
显示项及其子项周围的网格线。此样式是仅在 LVS_REPORT 风格结合中可用LVS_EX_HEADERDRAGDROP报表头可以拖拽
允许拖放的列表视图控件中的列重新排序。此样式是只可用于使用 LVS_REPORT 样式的列表视图控件。LVS_EX_INFOTIP将提示信息窗口的消息通知父窗口
当列表视图控件使用的 LVS_EX_INFOTIP 样式时,LVN_GETINFOTIP 通知代码发送到父窗口显示工具提示项之前。LVS_EX_LABELTIP?LVS_EX_MULTIWORKAREAS多工作区LVS_EX_ONECLICKACTIVATE单击激活LVS_EX_REGIONAL?LVS_EX_SUBITEMIMAGES子项目图标列表LVS_EX_TRACKSELECT自动换行LVS_EX_TWOCLICKACTIVATE双击激活LVS_EX_UNDERLINECOLD?LVS_EX_UNDERLINEHOT
2.
下面弄清楚怎么设置常规样式和扩展样式。
设置常规样式使用的函数:GetWindowLong(仅32位下)、SetWindowLong()
设置扩展样式使用的函数:GetExtendedStyle、SetExtendedStyle
示例代码:
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_GRIDLINES|LVS_EX_FULLROWSELECT);
参考:【1】http://baike.baidu.com/view/1547789.htm