PDA

Просмотр полной версии : CBuilder. TStringList. Рисуем текст.


TRiPLE
13.04.2005, 14:11
Столкнулся тут с одной непонятной мне проблемой. Есть табличка TStringList. И я никак не могу понять, как можно при ручной прорисовке ячеек вылезать за их пределы. Т.е. на самом деле, просто нужно сделать объединение ячеек, что я пытался решить через TextRect() с указанием границ прямоугольника равных границам целой строки. Запись обрубается пределами строки в любом случае... То же с заливкой. Уже подумываю, а не плюнуть ли и нарисовать все это дело на canvas-е того же TImage (благо, что редактировать ничего там не надо).

dyr_farot
13.04.2005, 15:50
это из-за того, что ты ( скорее всего ) при отрисовке следующей ячейки затираеш уже отрисованный текст

Willow
14.04.2005, 00:54
кажется где-то перед отрисовкой в VCL присутствует нечто вида SetClipRect() - устанавливается зона в которой можно рисовать.
Попробуй в ручную задать другую

TRiPLE
14.04.2005, 10:18
Willow, спасибо, все заработало. Конструкция вышла такая:
HRGN MyRgn;
MyRgn = CreateRectRgn(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom);
SelectClipRgn(StringGrid1->Canvas->Handle,MyRgn);