VC\MFC界面怎么设置列表框第一列文字居中,其他列的文本左对齐

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC\MFC界面怎么设置列表框第一列文字居中,其他列的文本左对齐相关的知识,希望对你有一定的参考价值。

希望各位能够明白我的意思,没有满意答案,继续寻找其他回答,继续寻求帮助,详细具体,财富可加

添加一个不可见的第一列(宽度设为0)
实际的第一列放在第二列的位置,并设置居中。

或者这样更直接:
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派生一个类来处理,实现第一列不可拖动,其他列可以拖动。

自绘?小题大做了吧。

参考技术A InsertColumn(0, "第一列",LVCFMT_CENTER, 100);
InsertColumn(0, "第二列",LVCFMT_LEFT, 100);
参考技术B 1楼的以假乱真还是有问题。这需要表格不能有垂直线,但是表头的垂直线你怎么去掉?
我的建议:自绘。自绘真的不难,不要因为害怕麻烦而不去碰他,当你学会了自绘,任何界面样式你都可以。
参考技术C 你插入列标题的时候需要使用到m_list.InsertColumn(i, strHeader[i], LVCFMT_CENTER, nWidth[i]);其中m_list是你的列表框的变量名,i是列数,strHeader[i]是第i列的标题,LVCFMT_CENTER就是列标题居中的意思,nWidth[i]是第i列的宽度 参考技术D 插入列表栏目的时候可以指定。

以上是关于VC\MFC界面怎么设置列表框第一列文字居中,其他列的文本左对齐的主要内容,如果未能解决你的问题,请参考以下文章

VC MFC界面怎么根据桌面分辨率自动设置显示窗口和控件的大小

MFC如何调用DLL(VC++)

VS2010 如何利用 MFC单文档界面 编写 OpenGL?参考了很多vc6.0的方法,都不能在编译通过。谢了啊!

VC MFC 框架中 添加按钮控件

C++ODBC MFC编程数据源的显示中,绑定了数据表,却只能显示第一列的数据。怎么才能让它全部显示出来。

VC里用graphics(MFC的走)