Aceasta este întreaga întrebare. Foarte interesant de simplu.
var
Eu, ultimul: Integer;
începe
pentru I: = 0 la ListBox1.Items.Count-1 nu
dacă ListBox1.Selectați [I] atunci
Ultima: = I;
se încheie;
Acest lucru este eronat, dacă nu există niciunul, LAST nu este definit.
Nu optim
Ultima: = -1;
pentru I: = ListBox1.Items.Count-1 la 0 face
dacă ListBox1.Selectați [I] atunci
începe
Ultima: = I;
Break;
se încheie;
se încheie;
Vă oferă un index al unui șir extins
2 Adil Aliyev (30.12.03 01:36) [3]
Cum rămâne cu MultiSelect = Adevărat?
"Cum se găsește în caseta de listă numărul ultimei linii selectate?"
Totul funcționează corect.
ListBox1.ItemIndex dă numărul ultimului (partea de jos) a listei de rânduri selectate și numărul liniei evidențiate de ultima în timp (ultima pe care ați "făcut clic")
Apropo, poate chiar să nu fie complet alocată.
există o altă întrebare: există un popupmenu. că, de exemplu, trebuie să faceți acest lucru atunci când faceți clic pe caseta de creare - unele linii (itemz în acest meniu) popupmenu au fost inactive și atunci când selectați ce fir din lista, ce ar deveni activ? Cred că întrebarea este clară. ajutor dacă știți cum. mulțumesc
Eee pentru I: = ListBox1.Items.Count-1 până la 0 nu.
PS. Activat: = true / false
Plokhish_ (30.12.03 12:14) [9]
Nuda typos
PopUpMenu1.Items [i] .Enabled: = ListBox1.ItemIndex> -1.
> Plohish_ (30.12.03 12:14) [9]
Așa e. Și ce te deranjează?
Am înțeles. Și eu, de asemenea, nu am observat.
: o)
EEEEE, cetățeni :)))))
Mulțumesc tuturor :)))
A fost necesar să se găsească numărul liniei selectate ultima dată (ON TIME OF LAST.).
Eu însumi sunt vinovat, nu am specificat.
Deși adevărul este deja dopat la acest :)
În articolul săpat sărac, dacă cineva este interesat, pot desena aici cum se face.
Apropo, multiselected = true :)
Și pe umplutura.
Metoda mea vă permite să găsiți numărul liniei selectate (în timp) selectat (MultiSelect = true) indiferent de metoda de selecție (tastatură, mouse Ctrl +, Shift +), ordine etc.
Îți poți sugera propriul tău drum?
ItemIndex dă numărul liniei pe care se concentrează (prin care a fost făcut clic pe ultima). Acesta poate sau nu să fie evidențiat cu MultiSelect = true.
"Dacă valoarea proprietății MultiSelect este True, utilizatorul poate selecta mai mult de un element în caseta listă". În acest caz, valoarea ItemIndex este indexul elementului selectat care are focalizare. "
ItemIndex dă numărul liniei care se concentrează, dar faptul că linia cu focalizare va fi ultima evidențiată - NICIO FACT!
Puteți verifica-l singur;)