在MFC中的CListView添加column时,比如添加,姓名 年龄 性别三列,此时在性别列后还有一列,没有标题,现想不想让该列出现在ListView中,除非用户通过鼠标拖动列的宽度,程序中如果设置性别这列的宽度很大,就会出现在水平滚动条,而且在程序最大化后如果性别的宽度不够的话还是能看到最后一列,如果大家曾经做过C++Builder的程序就会知道在C++Builder中的ListView可以设置最后一列为AutoSize=true即可以解决,这样,用户改变窗口大小后,最后一列性别会自动变化,不知道我的问题说清楚了没有!请问如何解决?
比如你的ListView一共有三列,先求出ListView的宽度,减去前面2列的宽度之和,然后将这个差设置为第3列的宽度即可国。
// 假设lsvListView是你的CListView,i是最右一列。
lsvListView.GetListCtrl().SetColumnWidth(i, LVSCW_AUTOSIZE_USEHEADER);