![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выделение нескольких строк в TStringGrid [D6]
Lakshmy © (2005-03-02 19:58:00)Подскажите, пожалуйста, как сделать так, чтобы можно было выделять несколько строк в TStringGrid. И чтобы было все как у людей - с Sift - все между указанными, с Ctrl - выборочно. А тут возникает еще один вопрос: как потом с этой выборкой работать. Есть у меня идеи, но они совершенно кривые и тупые. Хотелось бы что-нибудь поизящнее...
Lakshmy (2005-03-04 20:53:00) [1]Я уже умудрилась обойти это место. Я по другому сделала
begin...end (2005-03-04 20:47:00) [2]> Lakshmy © (04.03.05 19:52) [8]
> Lakshmy © (04.03.05 19:57) [9]
У меня всё нормально.
Lakshmy (2005-03-04 19:57:00) [3]Вот у меня так:
SGr.Selection:=TGridRect(Rect(CurCol,CurRow, SGr.ColCount-1, SGr.Row))
где [CurCol,CurRow] - координаты ячейки, с которой надо начать выделение. Визуально у меня выделяется, а вот когда к SGr.Selection обращаюсь, то получается то, что я выше написала
Lakshmy (2005-03-04 19:52:00) [4]У меня почему-то получается что
StringGrid.Selection.Top=StringGrid.Selection.Bottom
Почему?
Например у меня выделяется с 1 по 3 строку, должно ведь быть
StringGrid.Selection.Top=1
StringGrid.Selection.Bottom=3
Ведь так?
Lakshmy (2005-03-02 21:20:00) [5]все! догнала! спасибо!
begin...end (2005-03-02 21:18:00) [6]> Lakshmy © (02.03.05 21:15) [5]
Верхняя строка выделенной группы - StringGrid.Selection.Top. Нижняя - StringGrid.Selection.Bottom.
Lakshmy (2005-03-02 21:15:00) [7]ааа! я то подумала... Ну хорошо, это понятно. А как потом обрабатывать выделенные строки?
begin...end (2005-03-02 21:10:00) [8]> Lakshmy © (02.03.05 21:00) [2]
О каких перерисовках Вы говорите?
Вот так, например, можно выделить 2 первых строки в StringGrid'е:
StringGrid.Selection := TGridRect(Rect(1, 1, StringGrid.ColCount - 1, 2))
Lakshmy (2005-03-02 21:00:00) [9]...а дальше? я перерисовки не очень знаю... может ссылочку какую?
Lakshmy (2005-03-02 21:00:00) [10]...а дальше? я перерисовки не очень знаю... может ссылочку какую?
begin...end (2005-03-02 20:12:00) [11]> Lakshmy © (02.03.05 19:58)
Используйте свойство TStringGrid.Selection. В нём хранится прямоугольник выделения.