nesco писал(а):
если мы не можем сохранить предыдущий, тк не имеем доступа к его дескрипторуС другой стороны, в этом примере нет возвращения предыдущего шрифта. То-есть, каждая ячейка должна предоставить свой шрифт. Мы можем в этом месте создать требуемый нам шрифт, временно сохранить хендл, затем в CDDS_ITEMPOSTPAINT уничтожить его, чтобы не хранить его постоянно для каждой строки. Насколько это производительно - надо смотреть.
nesco писал(а):
насчет фона ничего толково не написаноЕсть ещё отдельное сообщение для установки фоновой картинки. То-есть, имеем полный набор: цвет текста и фона, стиль и размер шрифта.
Если конкретную ячейку не хотим рисовать сами, то в CDDS_ITEMPREPAINT для неё вернуть CDRF_DODEFAULT - система отрисует.
Если вернуть CDRF_SKIPDEFAULT - можноо вообще всю ячейку нарисовать самому, например, свои границы в обычной/выделенной ячейке.
По поводу сохранения свойств ячейки. Поскольку все строки таблицы хранятся в ней же - не думаю что очень сложно с каждой строкой или ячейкой хранить любые дополнительные данные. Просто предусмотреть их очистку при удалении строки.