VC\MFC界面怎么设置列表框第一列文字居中,其他列的文本左对齐 10
5个回答
展开全部
添加一个不可见的第一列(宽度设为0)
实际的第一列放在第二列的位置,并设置居中。
或者这样更直接:
InsertColumn时指定第一列的nCol=1,即nCol=0的列不存在也可以。
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
实际的第一列放在第二列的位置,并设置居中。
或者这样更直接:
InsertColumn时指定第一列的nCol=1,即nCol=0的列不存在也可以。
int InsertColumn(int nCol, LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT, int nWidth = -1, int nSubItem = -1);
追问
不可见怎么设置,宽度设置为0的话第一列中的文字岂不是无法显示出来了?
追答
意思是将需要添加到第一列的内容直接放到第二列。
回复2L:
表头的垂直线?
CHeaderCtrl * pHeader=ctrl.GetHeaderCtrl();
pHeader-> ModifyStyle(0, CCS_NORESIZE, TRUE);
或者简单的从CHeaderCtrl派生一个类来处理,实现第一列不可拖动,其他列可以拖动。
自绘?小题大做了吧。
展开全部
InsertColumn(0, "第一列",LVCFMT_CENTER, 100);
InsertColumn(0, "第二列",LVCFMT_LEFT, 100);
InsertColumn(0, "第二列",LVCFMT_LEFT, 100);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1楼的以假乱真还是有问题。这需要表格不能有垂直线,但是表头的垂直线你怎么去掉?
我的建议:自绘。自绘真的不难,不要因为害怕麻烦而不去碰他,当你学会了自绘,任何界面样式你都可以。
我的建议:自绘。自绘真的不难,不要因为害怕麻烦而不去碰他,当你学会了自绘,任何界面样式你都可以。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你插入列标题的时候需要使用到m_list.InsertColumn(i, strHeader[i], LVCFMT_CENTER, nWidth[i]);其中m_list是你的列表框的变量名,i是列数,strHeader[i]是第i列的标题,LVCFMT_CENTER就是列标题居中的意思,nWidth[i]是第i列的宽度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询