Грид со строкой подсветки на базе Shape

Для тех, кто пока не работает в VFP 8. Строка подсветки на базе Shape более функциональна чем подсветка на базе DynamicBackColor: есть режим инверсии, можно использовать BackColor и DynamicBackColor для других целей.
Основное назначение этого класса - Sql_Grid другое, строка подсветки прилагается как опция. Подробное описание см. в решении: Sql_Grid Краткое описание
В качестве строки подсветки для sql_grid'а может использоваться любой объект, производный от класса Shape. Достаточно положить его в тот же контейнер (форму, страницу PageFrame и т.д.), что и объект, производный от sql_grid и в свойстве hlt_shape этого объекта указать имя объекта Shape.
Недостатки:

  • объект в активной колонке получает фокус и располагается поверх строки подсветки;
  • когда строка подсветки располагается поверх Grid'а, не возможно передать события мыши и получить фокус объекта, расположенного под Shape.

Эти недостатки устраняются с помощью классов, содержащихся в поставляемой библиотеке:

  • Hlt_Shape – Shape, настроенный для использования в качестве строки подсветки: DrawMode установлен в Merge Pen Not (14), события мыши (MouseDown, MouseUp, MouseMove, Click, DblClick) передаются в объект, расположенный под ним. Для передачи событий в Grid имеет свойство LinkedGrid, в которое нужно внести имя объекта класса sql_grid. Таким образом, для согласованной работы Sql_Grid'а и строки подсветки класса Hlt_Shape необходимо сделать перекрестные ссылки друг на друга в свойствах Hlt_shape (в объекте класса Sql_Grid) и LinkedGrid (в объекте класса Hlt_Shape)
  • Hlt_Text – класс, производный от TextBox. Специально создан для использования со строкой подсветки в объекте класса Sql_grid. Представляет из себя обычный textbox, но при получении фокуса вызывает метод BringHighLight родительского объекта sql_grid, т.е. фокуса он не получает – подходит только для отображения данных в Grid'е, без изменения прямо в нем (мне это подходит, т.к. все изменения данных я делаю в отдельных формах) При использовании этих классов совместно с Sql_Grid строка подсветки работает без указанных недостатков.
Автор: Алексей Кирпичев

Автор публикации

не в сети 11 месяцев

admin

0
Комментарии: 0Публикации: 107Регистрация: 10-12-2000
0
Оставить комментарий
Авторизация
*
*
Генерация пароля