文档章节

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
博文 359
码字总数 24366
作品 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
692
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

没有更多内容

加载失败,请刷新页面

加载更多

hive分桶

hive为啥分桶? 更加细粒度的划分数据,既可以使用分桶技术实现。 作用 对数据进行抽样查询,较为高效。 可以使查询效率提高。 hive分桶技术 分桶字段是表内字段,默认是对分桶的字段进行has...

Mr_yul
11分钟前
0
0
SQL中的case when then else end用法

Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女'ELSE '其他' END--Case搜索函数CASE WHEN sex...

牛奋Debug
31分钟前
0
0
log4j2发送消息至Kafka

title: 自定义log4j2发送日志到Kafka tags: log4j2,kafka 为了给公司的大数据平台提供各项目组的日志,而又使各项目组在改动上无感知。做了一番调研后才发现log4j2默认有支持将日志发送到kaf...

微笑向暖wx
40分钟前
1
0
LINUX中如何查看某个端口是否被占用(转发)

LINUX中如何查看某个端口是否被占用 之前查询端口是否被占用一直搞不明白,问了好多人,终于搞懂了,现在总结下: 1.netstat -anp |grep 端口号 如下,我以3306为例,netstat -anp |grep 33...

覃大光
今天
1
0
JBolt 1.5.0新版发布,升级到支持最新版JFinal和Jetty,实现了在线更新插件功能

JBolt是一个JFinal极速开发框架 定制版IDE插件 目前仅有Eclipse插件版,Idea插件版正在开发中。 JBolt的详细使用教程请移步到这里 =====版本1.5.0 更新内容 2018年10月13日10:41:52===== 注意...

山东-小木
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部