文档章节

ehlib 修改 使指示区背景色 和 数据区 背景色一致

vga
 vga
发布于 09/26 06:56
字数 269
阅读 4
收藏 0

对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;

© 著作权归作者所有

共有 人打赏支持
vga

vga

粉丝 21
博文 362
码字总数 24609
作品 0
佳木斯
私信 提问
加载中

评论(3)

vga
vga
DBGridEh的DrawColumnCell事件里:
if (Rect.Top = DBGridEh2.CellRect(DBGridEh2.Col,DBGridEh2.Row).Top) and (not (gdFocused in State) or not DBGridEh2.Focused) then
DBGridEh2.Canvas.Brush.Color := clgreen; //改用环保色:)
DBGridEh2.DefaultDrawColumnCell(Rect,DataCol,Column,State);
vga
vga
// 新增行后,默认首列
procedure TForm1.ADOQuery1AfterInsert(DataSet: TDataSet);
begin
  with DBGridEh1 do
  begin
    SelectedIndex := 0;
  end;
end;

// 行选中
DBGridEh_Yingfu_SearchQK.SelectedRows.SetCurrentRowSelected(True);

---------------------

本文来自 苍穹帝 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/gjtao1130/article/details/42120319?utm_source=copy
vga
vga
GridsEh 单元 (5.6.215版)
每个 DrawEdgeEh 调用 都调用了两遍,难道是系统太快了,用来延时吗?

DrawEdgeEh(Canvas, TempRect, False, False, True, True);
或许,我们从来没好好玩过Eclipse(一)

长时间看代码,必然导致眼睛酸涩而且还可能会头昏脑胀,看到网上很多开发者把背景色调成了淡绿色,哎!不错哟!觉得蛮屌的,所以我也跟着将Eclipse的背景色给调成淡绿色了,遂将这些步骤一一...

yerenyuan_pku
04/08
0
0
notepad++6.6.3 怎么去掉 粘贴文本的背景色

notepad++6.6.3 怎么去掉 粘贴文本的背景色 新建一个空白文档然后粘贴一段文本前景色和背景色变得很刺眼 如下图 保存后又会变成绿色 如下图 再修改 这样编辑看着很累眼 由其是我只想看一段l...

rainsun
2013/06/25
749
5
VC OnCtlColor函数来修改控件背景颜色

在MFC类库提供了CWnd::OnCtlColor函数,在工作框架的子窗口被重画时将调用该成员函数.因此可以重载WMCTLCOLOR消息的响应函数.此函数的原型: afxmsg HBRUSH OnCtlColor(CDC pDC,CWnd pWnd,UINT...

zzzkiti
05/24
0
0
天呐!我给body设置的背景色被浏览器吃掉了!

一、前言 人在前端已经漂泊数年,机缘巧合才发现,这几年给body写的背景色,全被浏览器给「吃」了。文中涉及的是CSS中关于特殊元素(html/body)的背景渲染的原理,对你而言它也许是块新大陆...

Wilton
05/30
0
0
写给开源中国产品经理或相关负责人的信

Dear Oschina产品经理,您好! 今年,不知从啥时候开始,我发现在博文中插入的代码变得很难看,比如以下这段: 我很好奇你们是从哪里找来这么丑的字体和背景色,这直接让我没勇气写博文了。 ...

林中漫步
2016/05/28
279
10

没有更多内容

加载失败,请刷新页面

加载更多

cmake 编译脚本

#!/bin/sh test -d build || mkdir -p build cd build cmake .. make

shzwork
8分钟前
0
0
数据表引擎

InnoDB表引擎 默认事务性引擎 数据存储在共享表空间,可以通过配置分开 对主键查询的性能高于其它引擎 从磁盘读取数据时自动在内存构建hash索引,插入数据时自动构建插入缓冲区 通过一些机制和...

关元
10分钟前
0
0
从零开始实现Vue简单的Toast插件

概述: 在前端项目中,有时会需要通知、提示一些信息给用户,尤其是在后台系统中,操作的正确与否,都需要给与用户一些信息。 1. 实例 在Vue组件的methods内,调用如下代码 `this``.$toast({...

前端小攻略
13分钟前
0
0
yaf和yaconf

pecl install yafpecl install yaconf [yaf] yaf.environ = dev yaf.use_spl_autoload = On yaf.use_namespace = 1 [yaconf] yaconf.directory = /data/wwwroot/yaconf......

果树啊
13分钟前
0
0
day01:shell基础(shell基础、alias及重定向)

1、shell基础介绍: shell是一个命令解释器,用于用户与机器的交互: 也支持特定的语法(逻辑判断,循环): 每个用户都有自己特定的shell:Centos7的shell是bash(bourne agin shell): shel...

芬野de博客
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部