Форум: "Компоненты";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
ВнизПерекрываем TCustomGrid.DrawCell Найти похожие ветки
← →
Бывший студент © (2005-04-16 01:28) [0]Создаю компонент с предком TStringGrid. Необходимо изменять стиль ячеек. К примеру меняю цвет и шрифт фокуса и цвет колонок, делаю так:
type
TMyGrid = class(TStringGrid)
.
protected
procedure DrawCell(ACol, ARow: Longint;
ARect: TRect; AState: TGridDrawState); override;
.
implementation
procedure TMyGrid.DrawCell(ACol, ARow: Longint;
ARect: TRect; AState: TGridDrawState);
var Rect: TRect;
const
clPaleGreen = TColor($CCFFCC);
clPaleRed = TColor($CCCCFF);
begin
inherited;
if (gdFocused in AState) then
begin
Canvas.Brush.Color := clBlack;
Canvas.Font.Color := clWhite;
Canvas.Font.Style := [fsBold];
end
else if ACol = 2 then
Canvas.Brush.color := clPaleGreen
else
Canvas.brush.Color := clPaleRed;
if (ACol > 0) and (ARow > 0) then
begin
Canvas.FillRect(ARect);
Canvas.TextOut(Rect.Top, Rect.Left, Cells[ACol, ARow]);
end;
end;
В результате текст всех ячеек попадает в первую колонку, что не так?
← →
MBo © (2005-04-16 09:36) [1]Ну скажи, какой смысл тебе отвечать, если ты не вникаешь в ответы по поводу прямоугольника
Что это за финт ушами:
Canvas.TextOut(Rect.Top,
← →
Бывший студент © (2005-04-16 11:50) [2]Спасибо за оценку, но:
если использовать Canvas.TextOut(ARect.Top..), то всё валится вообще в последнюю ячейку нулевой колонки.
← →
Просто Джо © (2005-04-16 14:15) [3]Блин. Left, затем Top
← →
Бывший студент © (2005-04-16 16:03) [4]Спасибо за совет - заработало.
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c