Форум — Ответы ( К темам )
? | MrSergei: StringGrid и скроллинг (16-01-2003 21:08:19) |
На форме есть таблица (StringGrid), по размерам она больше формы, поэтому есть скролбары. Я организовал поиск в таблице по ключевому слову, при нахождении слова ячейка выделяется, как показать ячейку, если она не видна (выходит за границу формы), к примеру, находится в конце таблицы, как программно задействовать ScrollBar на StringGrid-е? | |
Владимир (17-01-2003 09:51:15) | |
// заполняем StringGrid чем-либо void __fastcall TForm1::Button1Click(TObject *Sender) { for(int i=0; i<StringGrid1->ColCount; i++){ for(int j=0; j<StringGrid1->RowCount; j++){ StringGrid1->Cells[i][j] = IntToStr(i)+IntToStr(j); } } } //----------------------------------------------------------------- // осуществляем поиск по Edit1->Text void __fastcall TForm1::Button2Click(TObject *Sender) { int i,j; AnsiString s = Edit1->Text; for(i=0; i<StringGrid1->ColCount; i++){ for(j=0; j<StringGrid1->RowCount; j++){ if(s == StringGrid1->Cells[i][j]) { // нашли StringGrid1->SetFocus(); TGridRect myRect; myRect.Left = i; myRect.Top = j; myRect.Right = i; myRect.Bottom = j; // выделяем найденную ячейку StringGrid1->Selection = myRect; // вот оно — показываем ячейку — прокручивается ScrollBar если нужно StringGrid1->LeftCol = i; StringGrid1->TopRow = j; return; } } } } //--------------------------------------------------------------------------- |