NextGrid 行号

NextGrid 没有添加行号的地方,也不像cxgrid可以在事件中画。

源码NxGridView单元中,procedure TNxListGridView6.PaintIndicators; 下面,可以直接画。

这是控件本身画indicator的地方:

      StylePaint.PaintIndicator(IndicatorRect, ilRow, RowIndex = Control.SelectedLocation.Y,
        Control.Selected[RowIndex]);

控件在indicator画三角的代码:NxGridStylePaint单元里

procedure TNxNativeGridPartStylePaint.PaintIndicator(IndicatorRect: TRect; Location: TNxIndicatorLocation; Selected,
  Highlighted: Boolean);

      if Selected then
        with Canvas do
        begin
          Font.Color := clWindowText;

          { Actual or Styled Color? }
          ArrowColor := GetHeaderTextColor([bsSelected]);

          Pen.Color := ArrowColor;
          Brush.Color := ArrowColor;

          { Center }
          Pos := PosInRect(Succ(ArrowSize.cy), Succ(ArrowSize.cx), IndicatorRect, Classes.taRightjustify, taVerticalCenter);//这里我改为了RightJustify ,原本是Center。

          { Draw Arrow }
          Polygon([
            Point(Pos.X, Pos.Y),
            Point(Pos.X + ArrowSize.cy, Pos.Y + ArrowSize.cy),
            Point(Pos.X, Pos.Y + ArrowSize.cx)
          ]);
        end;

直接在TNxListGridView6.PaintIndicators里面StylePaint.PaintIndicator下面添加:

      StylePaint.Canvas.Brush.Color := clBtnFace;
      StylePaint.Canvas.Font.Color := clWindowText;
      p := PosInRect(0, 5, IndicatorRect, Classes.taLeftjustify, taVerticalCenter);
      StylePaint.Canvas.TextOut(P.X,p.Y,(rowindex+1).ToString);

这里我是将上面画三角的地方改为了taRightJustify,这里设置为left。

整体只能说凑合用吧。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值