我想在listview中让显示的每一列都居中
代码如下:  NewColumn := ListView.Columns.Add;
  NewColumn.Caption := ‘aaa’;
  NewColumn.Alignment:=taCenter;
  NewColumn.Width := 135;
  NewColumn := ListView.Columns.Add;
  NewColumn.Caption := 'bbb';
  NewColumn.Alignment:=taCenter;
  NewColumn.Width := 160;可是只有bbb列中的数据是居中显示的,aaa列(首列)中的数据却是全部靠左的
我该如何做让aaa列的数据也全部居中显示?请大家帮忙,马上结贴

解决方案 »

  1.   

    TListView的第一列,只能居左,如果要居中,只能自绘
      

  2.   

    做不到的,只好将此行的
    caption:=''
    autosize:=false;
    weith:=0;
    (就是把它隐掉)
      

  3.   

    我查看了一下VCL的源代码,发现插入列的操作最终是交给Windows API 完成的,所以应当是标准Windows控件的问题,ListView的第一列的Alignment必定是Left的。
    我在VS .NET也查了一下,结果确实是不能改变第一列的Alignment。但后几列是可任意调整的。
      

  4.   

    你试试在窗体创建的时候
      syslocale.MiddleEast:=true;
    有问题请发信息到我的E-mail:[email protected]
      

  5.   

    自绘?
    OnCustomDraw和OnAdvancedCustomDraw似乎只能自绘TListItem对象,到底能不能自绘Columns呢?
    关注……
      

  6.   

    嘿嘿,还是 helpwo(helpme) 的方法,我在头增加一列,然后隐藏,能实现功能就可以了,谢谢大家的帮忙