zoukankan      html  css  js  c++  java
  • cxgrid动态显示行号

    uses cxLookAndFeelPainters;

    type

    TMyCxGrid = class(TObject)
    class procedure DrawIndicatorCell(
    Sender: TcxGridTableView; ACanvas: TcxCanvas;
    AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
    end;

    { TMyCxGrid }

    class procedure TMyCxGrid.DrawIndicatorCell(Sender: TcxGridTableView;
    ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo;
    var ADone: Boolean);
    var
    AIndicatorViewInfo: TcxGridIndicatorRowItemViewInfo;
    ATextRect: TRect;
    AFont: TFont;
    AFontTextColor, AColor: TColor;
    begin
    AFont := ACanvas.Font;
    AColor := clBtnFace;
    AFontTextColor := clWindowText;
    if (AViewInfo is TcxGridIndicatorHeaderItemViewInfo) then
    begin
    ATextRect := AViewInfo.Bounds;
    InflateRect(ATextRect, -1, -1);

    Sender.LookAndFeelPainter.DrawHeader(ACanvas, AViewInfo.Bounds,
    ATextRect, [], cxBordersAll, cxbsNormal, taCenter, vaCenter,
    False, False, 'NO',AFont, AFontTextColor, AColor);
    ADone := True;
    end;
    if not (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
    Exit;
    ATextRect := AViewInfo.ContentBounds;
    AIndicatorViewInfo := AViewInfo as TcxGridIndicatorRowItemViewInfo;
    InflateRect(ATextRect, -1, -1);

    if AIndicatorViewInfo.GridRecord.Selected then
    AFont.Style := ACanvas.Font.Style + [fsBold]
    else
    AFont.Style := ACanvas.Font.Style - [fsBold];

    Sender.LookAndFeelPainter.DrawHeader(ACanvas, AViewInfo.ContentBounds,
    ATextRect, [], [bBottom, bLeft, bRight], cxbsNormal, taCenter, vaCenter,
    False, False, IntToStr(AIndicatorViewInfo.GridRecord.Index + 1),
    AFont, AFontTextColor, AColor);
    ADone := True;
    // ASender.LookAndFeelPainter.DrawIndicatorImage(ACanvas, ATextRect,
    // AIndicatorViewInfo.IndicatorKind);

    end;

    procedure ShowLineNo(c: TcxGridDBTableView);
    begin
    c.OptionsView.Indicator := True;
    c.OptionsView.IndicatorWidth := 40;
    c.OnCustomDrawIndicatorCell := TMyCxGrid.DrawIndicatorCell;
    end;

  • 相关阅读:
    杭电 1013 Digital Roots
    杭电 1040 As Easy As A+B 【排序】
    杭电 2092 整数解
    bzoj3223
    bzoj3224
    LA3905
    bzoj3601
    bzoj1002
    bzoj3105
    bzoj3332
  • 原文地址:https://www.cnblogs.com/martian6125/p/9631124.html
Copyright © 2011-2022 走看看