Hur kan man använda egenskapen Index för att returnera en position i en listviewkontroll? Tack för ditt svar. ShowMessage(AItem.Caption); Syntaxen fungerar nog som den ska, men jag vill få ut positionen för markerat item i min Listviewkontroll. Blir ingen större skillnad i delphi: Nu funkar det till belåtenhet.ListItems och index
I hjälpen finner jag detta exempel:
<code>
var InsertItem : TListItem;
Items : TListItem;
begin
with ListView1 do
InsertItem:= Items.insert(Selected.Index);
InsertItem.Caption := 'InsertedItem';
end;
</code>
Att använda Index tillsammans med metoden Insert går alltså bra. Men då läggs ju även en rad till på aktuell position och det vill jag ju inte.
Jag har testat följande:
<code>
var := Listview1.Items(Selected.Items);
</code>
men det fungerar inte...
Är det någon som vet hur syntaxen ser ut för detta?
Mvh
/StaffanSv: ListItems och index
Ditt kodexempel fungerar utan att något fel genereras.
Dock så får jag lite konverteringsproblem när jag skall läsa av
variabeln (AItem).
Följande testade jag:
ShowMessage (IntToStr(AItem));
men det funkar ej.
Hur konverterar jag AItem till en sträng?
Mvh
/StaffanSv: ListItems och index
Eller kan du direkt använda caption:
ShowMessage(ListView1.Selected.Caption);Sv: ListItems och index
Jag ville få variabeln konverterad bara för att kunna läsa ut den ut en meddelanderuta.
Går det inte på något sätt få ett tal returnerat för indexet i kontrollen
motsvarande
<code>
nItem = ListView1.SelectedItem.Index
</code>
i Visual Basic?
Mvh
/StaffanSv: ListItems och index
nItem := ListView1.Selected.Index;
ShowMessage(IntToStr(ListView1.Selected.Index));Sv: ListItems och index
Jag krånglade till det för mig i onödan.
Tack för ditt engagemang, foo Olsson!
/Staffan