对ehlib 显示效果不够满意,而做的调整
修改这个过程:
procedure TCustomDBGridEh.DrawIndicatorCell(ACol, ARow: Longint;
AreaCol, AreaRow: Longint; ARect: TRect; AState: TGridDrawState;
CellAreaType: TCellAreaTypeEh);
{ 注释掉 这段代码
if MultiSelected then
begin
BackColor := Canvas.Brush.Color;
Highlight := HighlightNoDataCellColor(ACol, ARow,
AreaCol, AreaRow, CellAreaType, AState, MultiSelected, BackColor, Canvas.Font);
Canvas.Brush.Color := BackColor;
end;
}
if dghShowRecNo in OptionsEh then
begin
TextRect := ARect;
Dec(TextRect.Right, AIndicatorWidth + FRowselCheckboxesWidth);
Canvas.Font.Size := Canvas.Font.Size - 1;
if (ARecNo <= 0) or
((DataLink.DataSet.State = dsInsert) and IsCurrentRow(AreaRow)) or
(DataGrouping.IsGroupingWorks and (ADrawGroupDataNode.NodeType = dntDataGroupEh))
then SRecNo := ''
else SRecNo := IntToStr(ARecNo);
// WriteTextEh(Canvas, TextRect, False, 0, 0, SRecNo, taCenter, tlCenter,
// True, False, 0, 0, UseRightToLeftReading);
Canvas.Font.Color := TitleFont.Color; // 增加这一行
WriteCellText(nil, Canvas, TextRect, False, 0, 0, SRecNo, taCenter, tlCenter,
True, False, 0, 0);
end;
if (dghShowRecNo in OptionsEh) and
(CellAreaType.VertType = vctFooterEh) and
(AreaRow = 0) then
begin
TextRect := ARect;
Dec(TextRect.Right, AIndicatorWidth);
Canvas.Font := Font;
Canvas.Font.Size := Canvas.Font.Size - 1;
ARecNo := 0;
if Assigned(DataLink) and DataLink.Active then
ARecNo := DataLink.DataSet.RecordCount;
if (ARecNo <= 0) or
((DataLink.DataSet.State = dsInsert) and IsCurrentRow(AreaRow))
then SRecNo := ''
else SRecNo := IntToStr(ARecNo);
// WriteTextEh(Canvas, TextRect, False, 0, 0, SRecNo, taCenter, tlCenter,
// True, False, 0, 0, UseRightToLeftReading);
Canvas.Font.Color := TitleFont.Color; // 增加这一行
WriteCellText(nil, Canvas, TextRect, False, 0, 0, SRecNo, taCenter, tlCenter,
True, False, 0, 0);
end;