Виділення декількох рядків в 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 звертаюся, то виходить те, що я вище написала
У мене все нормально.
Я вже примудрилася обійти це місце. Я по іншому зробила