ListView: ItemIndex ?

Rund um die LCL und andere Komponenten
Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Quatsch.

Ich habs jetzt probiert es funktionieren bei mir beide Eigenschaften perfekt und tun das was sie sollen und sind keinesfalls die selben...
Dateianhänge
Die beiden oberen labels auf der rechten seite sind Itemindex und Caption von Selected<br /><br />Die beiden darunter von ItemFocused
Die beiden oberen labels auf der rechten seite sind Itemindex und Caption von Selected

Die beiden darunter von ItemFocused
focused2.JPG
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Dets
Beiträge: 61
Registriert: Di 11. Sep 2007, 16:59
OS, Lazarus, FPC: Ubuntu Maverick (L 0.9.28.2-10, FPC 2.4.0)
CPU-Target: 32Bit
Wohnort: Lage
Kontaktdaten:

Re: ListView: ItemIndex ?

Beitrag von Dets »

Nils hat geschrieben:Wenn ich 3 Einträge habe und wähle Eintrag 3 aus, ist Selected.Index nicht mal gesetzt, wenn ich anschliessend Eintrag 1 auswähle, wird plötzlich etwas mit Eintrag 3 getan, um es zu verdeutlichen wähle ich nun noch Eintrag 2 aus und es passiert was mit Eintrag 1. Selected.Index ist also sozusagen im Rückstand. ItemFocused.Index ist ebenso immer im Rückstand. Was könnte ich tun um den wirklich aktuellen ItemIndex auszulesen ?
Ich glaube, ich weiß wo der Denkfehler liegt: du benutzt wahrscheinlich das Ereignis OnSelectItem!
Wenn du einen anderen Eintrag im Listview auswählst, wird OnSelectItem zweimal ausgelöst: einmal mit dem nun nicht mehr ausgewähltem Item und Selected:=false als Parameter und danach mit dem neu ausgewähltem Item und Selected:=true

greet, Dets ...

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Evlt. liegt es auch am anzeige Style Christian du benutzt ja einfach nur eine Liste aber evlt. nutzt NIls ja den Report modus oder einen anderen.

Im Prinzip sollte das aber egal sein.
MFG
Michael Springwald

Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

Beitrag von Nils »

@pluto: Ich benutze Report, was anderes macht ja auch wenig Sinn.
@Dets: Ich habe das auf Hinweis von pluto nur probiert, aber wieder rausgenommen, da es nicht funktionierte.
@Christian: Schick mir mal bitte das komplette Projekt, denn wenn ich das neu kompiliere funktioniert es bestimmt nicht mehr. Welche Version benutzt du ?
Meine Musik: spiker-music.net

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Lazarus SVN
FPC 2.2.0
Dateianhänge
project1.zip
(3.5 KiB) 72-mal heruntergeladen
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Nils
Beiträge: 130
Registriert: Mo 28. Mai 2007, 12:36
Kontaktdaten:

Beitrag von Nils »

Hm, dein Projekt ist ok.
Ich habe übrigens den Code ein wenig verbessert:

Code: Alles auswählen

procedure TfrmMain.mmEditRadtourClick(Sender: TObject);
begin
  if LV.Selected = nil then
    Exit;
  if LV.Selected.Index > -1 then
  begin
    with frmCreate do
    begin
      ShowModal;
 
      ActiveControl := eKM;
 
      with LV.Selected do
      begin
        c           := StrToInt(Caption);
        eKM.Text    := SubItems[0];
        eRoute.Text := SubItems[1];
        eDatum.Text := SubItems[2];
      end;
    end;
  end;
end;
Der Index stimmt übrigens immer, das Setzen der Edit-Felder scheint problematisch zu sein. Ich verstehe aber überhaupt nicht warum, denn das müsste eigentlich funktionieren.
Meine Musik: spiker-music.net

Antworten