25.09.2023, 17:50
|
Новичок
|
|
Регистрация: 18.03.2009
Сообщения: 71
Репутация: 10
|
|
номера
А как в место цифр иконки установить?
пр: в ячейке 1 = значит одна иконка или
в ячейке 2 (integer) = значить две иконки
error4a.jpg
Код:
if (AViewInfo.Item <> cxGrid1DBTableView1reviews) or
not (AViewInfo.EditViewInfo is TcxCustomTextEditViewInfo) then
Exit;
APainter := TcxPainterAccess(TcxViewInfoAcess(AViewInfo).GetPainterClass.
Create(ACanvas, AViewInfo));
// AImageRect := AViewInfo.Bounds;
try
AEditViewInfo := TcxCustomTextEditViewInfo(AViewInfo.EditViewInfo);
AEditViewInfo.TextRect.Left := AEditViewInfo.TextRect.Left + AViewInfo.
ContentBounds.Height + 1;
APainter.DrawContent;
APainter.DrawBorders;
AImageRect := AViewInfo.ContentBounds;
AImageRect.Width := AImageRect.Height;
If (AViewInfo.GridRecord.Values[cxGrid1DBTableView1reviews.Index] < 0)
Then begin
ACanvas.DrawImage(cxImageList1, AImageRect.Left, AImageRect.Top, 0); end;
If (AViewInfo.GridRecord.Values[cxGrid1DBTableView1reviews.Index] < 1)
Then begin
ACanvas.DrawImage(cxImageList1, AImageRect.Left, AImageRect.Top, 0);
ACanvas.DrawImage(cxImageList1, AImageRect.Left + 16, AImageRect.Top, 0); end;
If (AViewInfo.GridRecord.Values[cxGrid1DBTableView1reviews.Index] < 2)
Then begin
ACanvas.DrawImage(cxImageList1, AImageRect.Left, AImageRect.Top, 0);
ACanvas.DrawImage(cxImageList1, AImageRect.Left + 16, AImageRect.Top, 0);
ACanvas.DrawImage(cxImageList1, AImageRect.Left + 32, AImageRect.Top, 0); end;
If (AViewInfo.GridRecord.Values[cxGrid1DBTableView1reviews.Index] < 3)
Then begin
ACanvas.DrawImage(cxImageList1, AImageRect.Left, AImageRect.Top, 0);
ACanvas.DrawImage(cxImageList1, AImageRect.Left + 16, AImageRect.Top, 0);
ACanvas.DrawImage(cxImageList1, AImageRect.Left + 32, AImageRect.Top, 0);
ACanvas.DrawImage(cxImageList1, AImageRect.Left + 48, AImageRect.Top, 0); end;
finally
APainter.Free;
end;
ADone := True;
а то получается иконки просто закрашивают символы 1,2,3,4,5
|