Вниз
Скачать: CL | DM;

Выделение нескольких строк в TStringGrid   Найти похожие ветки 

← →
Lakshmy ©   (2005-03-02 19:58) [0]

Подскажите, пожалуйста, как сделать так, чтобы можно было выделять несколько строк в TStringGrid. И чтобы было все как у людей - с Sift - все между указанными, с Ctrl - выборочно. А тут возникает еще один вопрос: как потом с этой выборкой работать. Есть у меня идеи, но они совершенно кривые и тупые. Хотелось бы что-нибудь поизящнее...


← →
begin...end ©   (2005-03-02 20:12) [1]

> Lakshmy ©   (02.03.05 19:58)

Используйте свойство TStringGrid.Selection. В нём хранится прямоугольник выделения.


← →
Lakshmy ©   (2005-03-02 21:00) [2]

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


← →
Lakshmy ©   (2005-03-02 21:00) [3]

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


← →
begin...end ©   (2005-03-02 21:10) [4]

> Lakshmy ©   (02.03.05 21:00) [2]

О каких перерисовках Вы говорите?

Вот так, например, можно выделить 2 первых строки в StringGrid"е:

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


← →
Lakshmy ©   (2005-03-02 21:15) [5]

ааа! я то подумала... Ну хорошо, это понятно. А как потом обрабатывать выделенные строки?


← →
begin...end ©   (2005-03-02 21:18) [6]

> Lakshmy ©   (02.03.05 21:15) [5]

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


← →
Lakshmy ©   (2005-03-02 21:20) [7]

все! догнала! спасибо!


← →
Lakshmy ©   (2005-03-04 19:52) [8]

У меня почему-то получается что

StringGrid.Selection.Top=StringGrid.Selection.Bottom

Почему?
Например у меня выделяется с 1 по 3 строку, должно ведь быть

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

Ведь так?


← →
Lakshmy ©   (2005-03-04 19:57) [9]

Вот у меня так:

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

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


← →
begin...end ©   (2005-03-04 20:47) [10]

> Lakshmy ©   (04.03.05 19:52) [8]
> Lakshmy ©   (04.03.05 19:57) [9]

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


← →
Lakshmy ©   (2005-03-04 20:53) [11]

Я уже умудрилась обойти это место. Я по другому сделала



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.026 c
4-1107731888
romshtain
2005-02-07 02:18
2005.03.20
Как отловить хендл окна, которое находится..


1-1109768050
hgd
2005-03-02 15:54
2005.03.20
Подскажите как удалить ветвь реестра


1-1110106829
igsi
2005-03-06 14:00
2005.03.20
коммандная строка


1-1109855734
HanIP
2005-03-03 16:15
2005.03.20
Получение времени с сервера.


3-1108670900
Kostafey
2005-02-17 23:08
2005.03.20
Access - совместимя БД




   Наверх