如何将TListView组折叠/展开按钮设置在组标题左侧
解决VCL TListView组折叠/展开按钮左对齐问题
要让设置了ItemsView主题的TListView组折叠按钮显示在左侧,只需添加对应的扩展列表视图样式即可,具体操作如下:
- 确保TListView的
GroupView属性已设为true - 在设置窗口主题后,调用
ListView_SetExtendedListViewStyleEx添加LVS_EX_GROUPHEADERLEFTALIGN扩展样式
对应的C++代码示例:
#include <commctrl.h> void __fastcall TForm1::FormCreate(TObject *Sender) { // 应用Windows 10文件资源管理器样式 SetWindowTheme(ListView1->Handle, _T("ItemsView"), NULL); // 启用组标题左对齐,让折叠按钮显示在左侧 ListView_SetExtendedListViewStyleEx(ListView1->Handle, LVS_EX_GROUPHEADERLEFTALIGN, LVS_EX_GROUPHEADERLEFTALIGN); }
如果你的开发环境未定义LVS_EX_GROUPHEADERLEFTALIGN宏,可直接使用其数值0x00002000替代:
ListView_SetExtendedListViewStyleEx(ListView1->Handle, 0x00002000, 0x00002000);
该扩展样式从Windows Vista开始支持,完全适配Windows 10系统,启用后组折叠/展开按钮的位置将和文件资源管理器保持一致。
内容的提问来源于stack exchange,提问作者Martin Nijhoff
相关产品推荐
相关产品推荐

