列表视图控件CListCtrl怎么调整每列的宽度
列表视图控件CListCtrl如何调整每列的宽度?
请教下大家,列表视图控件CListCtrl如何调整每列的宽度?
原来是下图这样子的:
现在要改成这样:
列表视图窗口的总宽度固定,里面的列根据数据库进行增加。如何才能像第二张图一张让每个数据都能很好得显示出来?
------解决方案--------------------
CListCtrl::SetColumnWidth
------解决方案--------------------
在listControl初始化的时候:
m_listView.InsertColumn(0,L"螺杆直径",LVCFMT_LEFT,200,0);//200就是列的宽度
------解决方案--------------------
------解决方案--------------------
你赋值语句是什么?
除了初始化、赋值,还有其他地方操作了列表控件吗?
------解决方案--------------------
为什么你要重写InsterColumn呢?InsertColumn是CListCtrl类中的函数直接调用来用就行了
函数原型:
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
参数: nCol表示要插入列的列号。
pColumn 为新建列属性的LVCOLUMN结构的地址。
参数lpszcolumnHeading 为列标题的字符串的地址,所以可以使用一个字符串,比如 "姓名"。 nFormat 指定列对齐方式的整数,缺省值是左对齐。它可以为下列值之一:LVCFMT_LEFT LVCFMT_RIGHT或LVCFMT_CENTER。
nWidth 以像素为单位的列宽。缺省值为-1,表示没有设置列宽。
nSubItem 与列相关联的子项的索引。缺省值为-1,表示没有子项与列相关。
请教下大家,列表视图控件CListCtrl如何调整每列的宽度?
原来是下图这样子的:
现在要改成这样:
列表视图窗口的总宽度固定,里面的列根据数据库进行增加。如何才能像第二张图一张让每个数据都能很好得显示出来?
------解决方案--------------------
CListCtrl::SetColumnWidth
------解决方案--------------------
在listControl初始化的时候:
m_listView.InsertColumn(0,L"螺杆直径",LVCFMT_LEFT,200,0);//200就是列的宽度
------解决方案--------------------
------解决方案--------------------
你赋值语句是什么?
除了初始化、赋值,还有其他地方操作了列表控件吗?
------解决方案--------------------
为什么你要重写InsterColumn呢?InsertColumn是CListCtrl类中的函数直接调用来用就行了
函数原型:
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
参数: nCol表示要插入列的列号。
pColumn 为新建列属性的LVCOLUMN结构的地址。
参数lpszcolumnHeading 为列标题的字符串的地址,所以可以使用一个字符串,比如 "姓名"。 nFormat 指定列对齐方式的整数,缺省值是左对齐。它可以为下列值之一:LVCFMT_LEFT LVCFMT_RIGHT或LVCFMT_CENTER。
nWidth 以像素为单位的列宽。缺省值为-1,表示没有设置列宽。
nSubItem 与列相关联的子项的索引。缺省值为-1,表示没有子项与列相关。