Selectarea mai multor rânduri în tstringgrid

Selectarea mai multor rânduri în TStringGrid

Pot să vă rugăm să spuneți cum să facă astfel încât să puteți selecta mai multe rânduri în TStringGrid. Și pentru a face totul ca oameni - pentru a cerne - toate între acestea, cu Ctrl - selectiv. Și apoi apare o altă întrebare: atunci cum funcționează cu această probă. Am idei, dar ele sunt complet prost și curbe. Aș dori ceva poizyaschnee.

Utilizați TStringGrid.Selection de proprietate. In aceasta este stocată selecție dreptunghi.

și apoi ce? Nu știu cu adevărat redesenare. poate fi o referință ce?

și apoi ce? Nu știu cu adevărat redesenare. poate fi o referință ce?

Ce Redesenați spui?

Așa cum, de exemplu, puteți selecta primele 2 rânduri în StringGrid „e:

StringGrid.Selection: = TGridRect (Rect (1, 1, StringGrid.ColCount - 1, 2))

aah! apoi m-am gândit. Ei bine, asta e de înțeles. Și apoi cum să se ocupe de rândurile selectate?

linie superioară grup selectată - StringGrid.Selection.Top. StringGrid.Selection.Bottom - Jos.

totul! prins! vă mulțumesc!

Am un motiv sau altul, se dovedește că

StringGrid.Selection.Top = StringGrid.Selection.Bottom

De ce?
De exemplu, am alocat 1 la 3 linii ar trebui să fie, de fapt,

StringGrid.Selection.Top = 1
StringGrid.Selection.Bottom = 3

SGr.Selection: = TGridRect (Rect (CurCol, Currow, SGr.ColCount-1, SGr.Row))

unde [CurCol, Currow] - coordonatele celulei cu care este necesar să se înceapă selecția. Vizual, am subliniat, dar atunci când se referă la SGr.Selection, se pare că am scris mai sus

Sunt sănătos.

Am reușit să obțină în jurul acestui loc. Am făcut-o în mod diferit