Я извлекаю пользовательский элемент управления из TVirtualDrawTree и переопределяю событие DoPaintBackground
, чтобы нарисовать эффект градиента фона для дерева.
Я также переопределяю функцию DoBeforeItemPaint
, чтобы я мог рисовать элементы в виде дерева. Однако мне не удается заставить предметы рисовать на прозрачном фоне.
Глядя на источник для TVirtualDrawTree, выглядит, как будто элемент копируется в изображение TBitmap, а затем копируется на холст, однако я попытался отредактировать источник и установить параметры прозрачности для самого растрового изображения, и он все еще не работает. кажется, не работает.
Я также пытался очистить холст перед рисованием, например. Canvas.Brush.Style := bsClear
и заполнение предмета прямоугольником, но без радости.