使用ListView控件的问题(50分)

  • 主题发起人 主题发起人 wanwqing
  • 开始时间 开始时间
W

wanwqing

Unregistered / Unconfirmed
GUEST, unregistred user!
使用ListView控件的问题


我使用ListView控件出现如下问题:

我想在ListView的OnClick事件中获取鼠标所指行(当前行)。
程序执行时,ListView的项目只有3行(从第4行开始为空)。

用鼠标点击空行(第4行以后任何一行),则出现如下错误提示:
Project Stk.exe raised exception class EAccessViolation with
message 'Access Violation at adress 00445068 in module 'Stk.exe'
Read of address FFFFFFFF'. Process stopped.Use Step or Run to continue.


ListView控件的OnClick事件:
procedure TBrowseForm1.ListView1Click(Sender: TObject);
begin
Current:=ListView1.Selected.Index;
label1.caption:=inttostr(Current);
end;

请问各位老兄如何解决???
 
procedure TBrowseForm1.ListView1Click(Sender: TObject);
var
i as integer;
begin
Current:=ListView1.Selected.Index;
for i to listview1.index.count
label1.caption:=inttostr(Current);
end for
end;


 
if listview1.selected<>nil then
begin

Current:=ListView1.Selected.Index;
label1.caption:=inttostr(Current);

end;
 
只有三行,点第四行你还能取出Listview1.selected吗??
应该这样

procedure TBrowseForm1.ListView1Click(Sender: TObject);
begin
if listview1.selected<>nil then begin
Current:=ListView1.Selected.Index;
label1.caption:=inttostr(Current);
end;
end;
 
谢谢回答,见者有分.
 
多人接受答案了。
 
后退
顶部