Copyright © 2010 Promsite. All Rights Reserved.
Дополнительные примеры TStringGrid
Автор Виктор Алексеев aka prom
Синхронизация двух StringGrid.
Для начала штатным образом создадим проект как описано здесь. Затем на форму положим два грида и остальные контролы, как показано на рис 1. Для гридов в Инспекторе объектов установим свойства: ширину и высоту ячеек равными 32, свойство ScrollBars установим ssNone, т.е. этим мы запретим использование штатных полос прокруток. Остальное в гридах трогать не будем. Количество строк и колонок в гридах установим в модуле формы.
На форме виден ползунок, расположенный между гридами. Это отдельный контрол, но за счет манипуляции с кодом в обработчике события onChange сделаем его общим для обоих гридов.
Рис 1. Для увел. кликните на рис.
Код настолько простой, что особо комментировать его нет смысла. В общем в зависимости от того на какой строке находится фокус 1-го грида вычисляется позиция ползунка и передается во 2-й грид.
Для наглядности оба грида заполняются случайными числами в диапазоне от 0 до 999. Да ещё в ScrollBars свойство min установлено в 1, это для того чтобы ползунок не "наезжал" на фиксированные ячейки шапки.
Ниже код модуля формы Unit1.cpp