2009-11-27 191 views
1

我使用图标视图一个CListCtrl,但它横向卷轴:垂直滚动条的CListCtrl中

1 3 5 7 --> 
2 4 6 8 --> 

我宁愿它水平滚动:

1 2 
3 4 
5 6 
| | 
V V 

有没有办法做到这个?

回答

4

将设计器中的对齐方式从左至上更改。

1

我似乎已通过使用“报告”视图解决了该问题。通过VS Designer,这意味着将“视图”样式更改为报表,从而在.RC文件中给出LVS_REPORT属性的控制。请注意,这相当于在代码中调用CListCtrl::SetView(LV_VIEW_DETAILS)。但这并不足够。还需要创建一个列,如果你不已经有一个用几行代码:

m_lstScenarios.InsertColumn(0, L"NO HEADER"); 
m_lstScenarios.SetColumnWidth(k_nListColScenario, LVSCW_AUTOSIZE); 

如果你不希望列标题,通过设置在设计中LVS_NOCOLUMNHEADER了“无列标题'样式。

0

在列表控制,以显示与在垂直滚动条单个列的图像内容。新增下面的代码, 在的PreCreateWindow功能,添加下列行 cs.style | =(LVS_REPORT | LVS_NOCOLUMNHEADER); 并在OnIntialUpdate函数中添加以下行, fileList.InsertColumn(0,“”,LVCFMT_LEFT | LVCFMT_IMAGE,120,-1); ShowScrollBar(SB_VERT,1); 在此之后,无论您想要将数据插入列表中,您都可以设置图像列表,然后使用insertitem插入数据,例如: fileList,insertitem(0,“India”,1); 其中1->是图像列表中图像的索引。