Copyright © 2010 Promsite. All Rights Reserved.
Дополнительные примеры TStringGrid

Автор Виктор Алексеев aka prom






стр. 2
стр. 2
P  R  O  M  S  I  T  E
Статьи по С++Builder 6
страницы: 1   2
страницы: 1   2

Синхронизация двух StringGrid.


Загрузить проект: project
       Здесь под синхронизацией понимается одновременная прокрутка 2-х гридов одним ползунком. В статье М. Теллеса "Синхронизация 2-х списков строк" подробно рассматривается эта тема применительно к ListBox. Но там, в отличие от этой статьи, совершенно иной подход. Здесь же настолько все просто, что проще и придумать сложно.
       Для начала штатным образом создадим проект как описано здесь. Затем на форму положим два грида и остальные контролы, как показано на рис 1.  Для гридов в Инспекторе объектов установим свойства: ширину и высоту ячеек равными 32, свойство ScrollBars установим ssNone, т.е. этим мы запретим использование штатных полос прокруток. Остальное в гридах трогать не будем. Количество строк и колонок в гридах установим в модуле формы.
       На форме виден ползунок, расположенный между гридами. Это отдельный контрол, но за счет манипуляции с кодом в обработчике события onChange сделаем его общим для обоих гридов.
Рис 1. Для увел. кликните на рис.
       Код настолько простой, что особо комментировать его нет смысла. В общем в зависимости от того на какой строке находится фокус 1-го грида вычисляется позиция ползунка и передается во 2-й грид.
       Для наглядности оба грида заполняются случайными числами в диапазоне от 0 до 999. Да ещё в ScrollBars свойство min  установлено в 1, это для того чтобы ползунок не "наезжал" на фиксированные ячейки шапки.

Ниже код модуля формы Unit1.cpp

Для отображения Облака ссылок
необходим
Adobe Flash Player 9
или выше.

Исполняемый файл: SyncTwoGrid.exe 535 kb.