MFC中的CListCtrl的最左边一列必须左对齐吗?

 我来答
yxuzobt
2013-11-05 · TA获得超过296个赞
知道小有建树答主
回答量:138
采纳率:100%
帮助的人:74.5万
展开全部
HDITEM tItem; ::ZeroMemory(&tItem, sizeof(tItem)); TCHAR lpBuffer[256]; tItem.mask = HDI_TEXT; tItem.pszText = lpBuffer; tItem.cchTextMax = 256; tItem.mask = HDI_FORMAT | HDI_TEXT; GetItem(i, &tItem); 在取得了列的信息之后,通过判断列中的对齐方式进行绘制,判断语句如下: if ((tItem.fmt & HDF_JUSTIFYMASK) == HDF_LEFT){ ......}else if ((tItem.fmt & HDF_JUSTIFYMASK) == HDF_CENTER){ ......}else if ((tItem.fmt & HDF_JUSTIFYMASK) == HDF_RIGHT){ ......} 但是我在想CListCtrl中插入列的时候,第一列我设置成了剧中对齐,但是结果无论如何都得不到正确的结果,偏偏其他列我又是设置的左对齐,所以结果所有列都是左对齐,于是我认为是不是GetItem没有取得对齐方式的数据,结果到MSDN中寻找帮助,结果一无所获,后来想想是不是我的MSDN太旧了,就到微软的MSDN网站查看帮助文档,结果在说明中发现了这样一句话:Remarks The leftmost column in a list view control must be left-aligned. 不觉感叹道:这是谁规定的啊?真是不地道。 于是问题又来了,如果让第一列能够做到剧中对齐呢?通过实验发现在InsertColumn的时候第一个参数就是列的索引,取值从1开始,这样就可以解决问题了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式