HeliCOPter |
Отправлено: 26.05.2006, 14:57 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
Такая проблема.
Есть большой заполненный Грид. Нужно реализовать функцию поиска нужной ячейки.
Я ищу, при нахождении изменяю свойство Selection, ячейка выделяется, но если она находится за границами окна, то Грид сам не скроллируется и ее не видно, но можно подобраться к ней вручную подкрутив скролл.
Никто не подскажет как выйти из положения?
Можно ли программно крутить скролл в гриде?
Или может как-то по-другому можно на ячейку? |
|
Guest |
Отправлено: 26.05.2006, 15:02 |
|
Не зарегистрирован
|
Попробуйте LeftCol и TopRow |
|
Doga |
Отправлено: 26.05.2006, 15:07 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
CODE |
MyGrid->Col = MySelectedCellCol;
MyGrid->Row = MySelectedCellRow;
|
|
|
HeliCOPter |
Отправлено: 26.05.2006, 15:27 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
QUOTE (Doga @ 26/05/2006, 15:07) | CODE |
MyGrid->Col = MySelectedCellCol;
MyGrid->Row = MySelectedCellRow;
|
|
Не работает... |
|
Grigoriy |
Отправлено: 26.05.2006, 16:31 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
QUOTE (Guest @ 26/05/2006, 15:02) | Попробуйте LeftCol и TopRow |
Ну так вам же написали ! ... свойства компонента.
CODE |
StringGrid1->LeftCol=9;
StringGrid1->TopRow=10;
//Вот теперь ячейка с координатами (9; 10) окажется в левом верхнем углу таблицы
|
|
|
Doga |
Отправлено: 26.05.2006, 16:33 |
|
Мастер участка
Группа: Участник
Сообщений: 575
|
Не будет работать только если
(MyGrid->Col == MySelectedCellCol) && (MyGrid->Row == MySelectedCellRow)
Для такого случая:
CODE |
MyGrid->Col = MySelectedCellCol — 1;
MyGrid->Col = MySelectedCellCol;
MyGrid->Row = MySelectedCellRow;
|
При установке курсора грида на нужную ячейку вызывается функция MoveCurrent, которая, в свою очередь, вызывает функцию ClampInView.
Вот она то и скроллит грид...
Отредактировано Doga — 26/05/2006, 16:39
|
|
Aptem |
Отправлено: 26.05.2006, 17:56 |
|
Мастер участка
Группа: Участник
Сообщений: 349
|
Я скролю гриды вот так:
CODE | SendMessage (StringGrid1 -> Handle, WM_VSCROLL, SB_BOTTOM, NULL ); |
|
|
HeliCOPter |
Отправлено: 26.05.2006, 22:55 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
Всем огромное спасибо, получилось! |
|