function TListItems.GetCount: Integer;
begin
if Owner.HandleAllocated then Result := ListView_GetItemCount(Handle)
else Result := 0;
end;
function TListItems.GetItem(Index: Integer): TListItem;
var
Item: TLVItem;
begin
Result := nil;
if Owner.HandleAllocated then
begin
if Owner.OwnerData then
begin
FillChar(Item, SizeOf(Item), 0);
with Item do
begin
mask := 0;
iItem := Index;
iSubItem := 0;
end;
Result := Owner.GetItem(Item);
end
else
begin
with Item do
begin
mask := LVIF_PARAM;
iItem := Index;
iSubItem := 0;
end;
if ListView_GetItem(Handle, Item) then Result := TListItem(Item.lParam);
end;
end;
end;
SendMessage(Handle,LVM_GETITEM,0,Item);
if Item.state=LVIS_SELECTED then
begin
//在CPP中FileName=AnsiString(Item.pszText)就可以了, Delphi这样写不知对不对,不对你自己更改吧
FileName:=Item.pszText;
end;