设置Listctrl控件的完全行(Full Row)选项
从Windows 95开始,微软增加了新的通用控件。其中最为流行的控件之一便是ListView,在资源管理器和桌面上你都能看到ListView的应用。这个控件支持几种模式或视图,它包括大图标、小图标和报告。报告视图列出项目,每行一条,每行可有任意多个栏目(列),每一栏的顶上有栏目头。
这个控件有个地方常常很恼人,那就是在报告视图中选中一行时,它只加亮最左边的一个栏目。
为了克服这个问题,这里告诉你一个方法:向ListView控件发送一个LVM_SETEXTENDEDLISTVIEWSTYLE消息。这个消息包含一个风格位和风格位的新值:
::SendMessage(ListCtrl.m_hWnd, LVM_SETEXTENDEDLISTVIEWSTYLE,
LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT
注意在目前VC++6.0中,这些新风格能够得到充分的支持。需要注意的问题是,LVS_EX_FULLROWSELECT在较早发布的 Windows 95中是未公布的,因为这个特性直到4.70版本的通用控件库才得到支持。这意味着除非你知道你的用户会使用较新版本的通用控件,否则这个功能将不会在他们的系统上得到支持。
更简便的设置方法:ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
还有:LVS_EX_GRIDLINES显示网格线
[[it] 本帖最后由 vfdff 于 2008-9-20 01:00 编辑 [/it]]