Форум — Ответы ( К темам )
? | Fant: Как в StringGrid сделать выделение блока мышью? (21-02-2003 09:20:57) |
Как в StringGrid сделать выделение блока мышью? Может кто-нибудь уже это делал... | |
Владимир (21-02-2003 20:25:13) | |
Так и так мышкой все выделяется ! А получить что выделено можно используя свойство Selected void __fastcall TForm1::Button1Click(TObject *Sender) { TGridRect myRect; myRect = StringGrid1->Selection; Label1->Caption = myRect.Left; Label2->Caption = myRect.Top; Label3->Caption = myRect.Right; Label4->Caption = myRect.Bottom; } //только учтите: //Selection can only indicate more than one cell when Options includes goRangeSelect. //----------------------- | |
Владимир (21-02-2003 20:27:28) | |
Можно и самим программно выделить какую-либо область StringGrid void __fastcall TForm1::Button2Click(TObject *Sender) { TGridRect myRect; myRect.Left = 3; myRect.Top = 1; myRect.Right = 2; myRect.Bottom = 3; StringGrid1->Selection = myRect; } | |
Fnat (25-02-2003 11:31:40) | |
Спасибо, за ответы, но у меня немного другая задача... Надо сделать выделение в StringGrid как в Excel по событию StringGridMouseDown. К сожалению проект сделан в Builder3, а там StringGrid не поддерживает выделение мышью, придется писать руками через Canva :( Может у кого есть другие идеи? | |
Владимир (25-02-2003 16:26:37) | |
Перенести проект под C++Builder 6 Если есть исходники, никаких сложностей быть не должно. | |
Fant (26-02-2003 09:55:55) | |
Было бы неплохо поставить C++Builder 6 на работе, но на 133Р и 3-ий идет со скрипом. Отбирать комп у начальника как то не хочется, а дома другие заморочки... Проблемму я решил! Нарыл очень интересную функцию: StringGrid->MouseToCell(X, Y, Col, Row); Дальше дело техники. Спасибо за ответы, тоже пригодились. |