Виділення декількох рядків в tstringgrid

Виділення декількох рядків в TStringGrid

Підкажіть, будь ласка, як зробити так, щоб можна було виділяти кілька рядків в TStringGrid. І щоб було все як у людей - з Sift - все між зазначеними, з Ctrl - вибірково. А тут виникає ще одне питання: як потім з цієї вибіркою працювати. Є у мене ідеї, але вони абсолютно криві і тупі. Хотілося б що-небудь поизящнее.

Використовуйте властивість TStringGrid.Selection. У ньому зберігається прямокутник виділення.

а далі? я перемальовування не надто знаю. може ссилочку яку?

а далі? я перемальовування не надто знаю. може ссилочку яку?

Про які перемальовуванні Ви говорите?

Ось так, наприклад, можна виділити 2 перших рядки в StringGrid "е:

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

ааа! я то подумала. Ну добре, це зрозуміло. А як потім обробляти виділені рядки?

Верхній рядок виділеної групи - StringGrid.Selection.Top. Нижня - StringGrid.Selection.Bottom.

Усе! наздогнала! Дякуємо!

У мене чомусь виходить що

StringGrid.Selection.Top = StringGrid.Selection.Bottom

Чому?
Наприклад у мене виділяється з 1 по 3 рядок, має ж бути

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

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

де [CurCol, CurRow] - координати осередку, з якої треба почати виділення. Візуально у мене виділяється, а ось коли до SGr.Selection звертаюся, то виходить те, що я вище написала

У мене все нормально.

Я вже примудрилася обійти це місце. Я по іншому зробила