关于Ehlib的ReadOnly小BUG修正。

Ehlib本来是一个非常不错的控件,但是TDBEditEh的ReadOnly有一些问题,在后续版本之间也尚未修正。经追踪源代码后,发现
procedure TCustomDBEditEh.CMEnter(var Message: TCMEnter);
begin
  SetFocused(True);
  inherited;
  if AutoSelect and not (csLButtonDown in ControlState) then SelectAll;
  if SysLocale.FarEast and FDataLink.CanModify then
     SetControlReadOnly(False ); // 有问题,关联数据集后将ReadOnly改为True总是可以为修
                                                //改,因此这里出现问。
end;

//再查看Readonly属性声明,域变量FReadOnly 有问题,将改为即可。
   SetControlReadOnly(FReadOnly);  //将此函数修改
//更早一点的版本我不知道,但是,2.5版本以来就有这个问题,按照此方法可以解决、、ReadOnly问题。
编译包文(Ehlib7.0,或Ehlib6.0,动态包)件即可。如果你用包方式发布,还将编译过的包覆盖原来的BPL文件即可。

另外,为了支持D6,D7特有的扁平风格界面。在单元DBCtrlsEh里的每一个TDBEDITEH,TDBDateTimeEdithEh等等编辑控件加入,
   property BevelEdges;
    property BevelInner;
    property BevelKind default bkNone;
    property BevelOuter;

我们在设计期可以设置 BorderStype := bsNone; BevelKind  :=bkTile;获得扁平风格;可为你的程序编辑控件添加了不少的风格。

别忘了编译包文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值