让你的DBGridEh的Column自动适应宽度

2016-02-19 13:19 8 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享让你的DBGridEh的Column自动适应宽度,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

    EhLib控件的强大表格处理能力,相信使用过的朋友都有领会,但DBGrdiEh没有发布自动根据栏宽的方法,的确是有点遗憾。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

    不过还好,在DBGrdiEh的OptionsEh中,我们可以发现有个dghDblClickOptimizeColWidth选项,可以让用户在栏头的宽度调整位置上,双击鼠标以自动调整栏宽度。

    既然该功能已经实现,但却没能在DBGridEh发布的方法中找到该方法,经过笔者尝试,已经找到该方法,只要把它发布出来即可使用。具体过程如下:

    首先我们找到DBGridEh.hpp文件,并且备份,
  根据dghDblClickOptimizeColWidth的线索,我们在DBGridEh.pas中全文查找该关键字,在10514行中,找到以下代码段:
  //
      if (AGridState = gsColSizing) and (dghDblClickOptimizeColWidth in OptionsEh) then
        OptimizeSelectedColsWidth(Columns[ASizingIndex - IndicatorOffset])

  //
    那么看来OptimizeSelectedColsWidth(TColumnEh* WithColumn)函数就是我们要的了!

    在头文件DBGridEh.hpp中查找OptimizeSelectedColsWidth函数名,在1859行找到以下声明
    void __fastcall OptimizeSelectedColsWidth(TColumnEh* WithColumn);
    它是放在protected域中,我们注释掉改行,复制,并在public域中粘帖该声明,
    于是OptimizeSelectedColsWidth就发布了。

    因为我们没有修改pas源码部分,因此,无需重新编译,即可使用。
    注意,该函数传递TColumnEh的指针,我们只要遍历DBGridEh的Column所有对象指针,即可调整完整个表格的Column宽度。

  以下为使用实例:

    for(int i=0;isDBGridEh-Columns-Count;i++ )
      sDBGridEh-OptimizeSelectedColsWidth((TColumnEh *)sDBGridEh-Columns-Items[i]);

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1603792.html

延伸阅读
标签: 宠物猫 宠物
不要更换猫咪的用品     在搬家的时候,尽量不要更换猫咪的日常用品,等猫咪适应了新环境的时候在考虑更换日常使用品。刚搬新家,猫咪是比较难以适应的,情绪波动也会比较大,所以需要用它熟悉的用品安抚情绪,有它熟悉的味道,可以让猫咪放松心情,开始适应新生活。     给予它们更多关怀猫咪刚到新家的时候,是比较没...
大多数程序设计的爱好者选择并使用Delphi来编写软件,都是被其中丰富而功能强大的VCL控件所吸引。Delphi自带的数据感知(Data-Aware)控件,更是成为开发MIS软件的程序员之首选。在那么多数据感知控件中,TDBGrid由于其使用方便、显示信息量大成为最引人注目的一员,大量的国内外软件中都出现了它的身影。或许是由于使用的人多了,对于它的期...
《自绘ListBox的两种效果》一文帖出之后,从反馈信息来看,大家对这种小技巧还是很认同。接下来我将继续围绕ListBox写一系列的文章,进一步发掘ListBox的潜力,其中包括:自动调整横向滚动条宽度、即时提示(Tips)、拖放插入点提示等,并在最后制作一个在滚动区内的ListBox组。 自动调整横向滚动条宽度 网上可以找到很多让Listbox...
标签: 产后 怀孕
1、营养品 如果你在生宝宝前有喝孕妇奶粉,钙片,或者是吃维生素片的习惯,那么在生完宝宝后,继续保持这个习惯。记住,最好询问医生的意见,服用营养品,补得不仅仅是你自己,还会影响到奶水的质量,牵连到宝宝的健康。 2、乳头矫正器 这款工具专门是对于乳头过于平坦或者凹下去的妈妈,各位妈妈不但可以在怀孕的时候使用,...
标签: Web开发
w3c规范中getElementsByName是按着name属性进行检索的,而MS的IE却是按着id来检索。导致不能得到应该得到的Elements,为适应浏览器,我们可以做一下调整:  一、把需要用getElementsByName的name都加上id,且id和name相同。  二、用一个函数来适应浏览器,代码如下:  代码如下: getElementsByName:function (name)&nb...

经验教程

268

收藏

84
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部