Показать сообщение отдельно
  #9  
Старый 25.09.2023, 17:50
leon2009 leon2009 вне форума
Новичок
 
Регистрация: 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
Ответить с цитированием