控制列表的问题?(20分)

  • 主题发起人 主题发起人 liwei@
  • 开始时间 开始时间
L

liwei@

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用LISTVIEW时,想为它加上列的属性
我开始是右击LISTVIEW用Columns编辑器加列的属性,可程序一运行
Listview的没有列的属性显示

而我自己用代码却可以实现,但不能控制列的width
问题:
1,如何不用代码,直接用右击LISTVIEW用Columns编辑器加列的属性,
我还有那些位置没有设置?
2,我的代码如下,如何控制列的width,为什么我的newcolumn.Width :=100;只对第一个列
有效呢?
procedure TForm1.Button1Click(Sender: TObject);
const names:array[0..3,0..1] of shortstring=(('rubble','barney'),
('michael','johnson'),('bunny','bugs'),('sliver','hiho'));
var i:integer;
newcolumn:tlistcolumn;
listitem:tlistitem;
listview:tlistview;
begin
listview:=tlistview.Create(self);
listview.Parent :=self;
listview.Align :=alclient;
listview.ViewStyle :=vsreport;
newcolumn:=listview.Columns.Add ;
newcolumn.Caption :='last';
newcolumn.Width :=100;
newcolumn.Caption :='add';
newcolumn.Width :=100;
newcolumn.Caption :='first';
newcolumn.Width :=100;
for i:=0 to high(names) do
begin
listitem:=listview.Items.Add ;
listitem.Caption :=names[0];
listitem.SubItems.Add(names[1]);
end;
end;
 
Columns属性是一个包含许多TListColumn的数组,
要控制Columns中每个TListColumn的Width:
Columns[0].Width:= -1;
Columns[1].Width:= -1;
Columns[2].Width:= -1;
.
.
Columns[n].Width:= -1;
把 Width 值设为 -1 表示自动列宽,在Help中有详细的说明,

上述情况只在TListView的ViewStyle属性为vsReport时,才显示效果

 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部