Показать полную графическую версию : Своя отрисовка TStringGrid
Prisoner
15-09-2003, 17:25
Событие OnDrawCell реагирует на необходимость отрисовки ячеек если свойство DefaultDraw=False (тогда задача отрисовки всей таблицы ложится на программиста). Однако у меня не ладится вся работа, толи я глючу, толи... В общем странное дело с определением типа ячеек ([gdFixed],[gdSelected],[gdFocused]), да и инфа не сохраняется... По сему вопрос - как выкрасить различные ячейки в различные цвета с сохранением информации в оных ячейках (то есть попросту добавить фон ячеек) в стиле качалки ReGet (ну к примеру). Приведете кусочек кода - буду рад, линку на компонент помогающий решить проблему - очень рад.
Abell2000
15-09-2003, 19:00
DefaultDrawing не обязательно должен быть false для перерисовки ячейки, например если тебе надо только изменить ее цвет то оставь true, будет меньше проблем с отрисовкой fixed & focused ячеек, а делается все просто:
в onDrawCell
Canvas->Brush->Color=clRed;
Canvas->FillRect(ARect);
Canvas->TextOut(ARect.Left+2,ARect.Top+2,Cell[ACol][ARow]);
можно вместо TextOut использовать TextRect, только тогда brush->Style=bsClear;
Prisoner
16-09-2003, 19:40
Спасибо. Все заработало. Пришлось правда под Дельфу (сразу не оговорился, что под нее нать) кое что приспособить, но да это ерунда. Еще раз сыпасиба!
Abell2000
17-09-2003, 05:16
Пожалуйста.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.