 |
|  |
 |
Основное назначение этого класса - 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 строка подсветки работает без указанных
недостатков.
|
|
 |
|  |
|