Ehlib:修正表格的Lookup下拉框的焦點小BUG

来源:互联网 发布:永宏plc编程软件图标 编辑:程序博客网 时间:2024/06/05 02:19

出處 : http://gejinku.blog.163.com/blog/static/81623931200982405224165/

序言:

       在Delphi眾多的優秀表格中,如cxGrid、InfoPower、Ehlib、NextGrid、DBGrid、TopGrid等,選擇了Ehlib作為項目開發的首選表格控件,其原因是Ehlib在功能、速度、穩定性、擴展性、複雜性等因素為最佳平衡點。用了近9年的Ehlib,多少也有一點親身感受,無論經驗多小,如果對讀者有微薄的經驗,能寫出來,就不是憾事!

  1. TRzTabSheet(Raize套件)之間切換,並沒有焦點轉換。如果兩個TRzTabSheet都有TDBGridEh,其中一個TDBGridEh(A表格)的Lookup下拉框在DropDown中,當你切換到另外一個TRzTabSheet時,你就會發現剛才A表格的Lookup下拉框不但並沒有消失,而且點擊還可以滾動,這不屬於B表格的LookupLookup下拉框還在顯示著,顯然是錯誤!解決問題很簡單,在TRzPageControl的On Change事件中,設置當前TRzTabSheet裡的TDBGridEh為SetFocus即可解決焦點轉換。
  2. 還有一個錯誤,當Lookup下拉框在DropDown中,如果你點擊了沒有焦點的按鈕(比如TToolbarButton)關閉窗口,會提示:找不到焦點的異常。跟踪代碼,在單元DBGridEh下的方法,

    procedure TDBGridInplaceEdit.CloseUp (Accept: Boolean);

    找到最後一句:Parent.SetFocus ;

    改為:

    if Parent.CanFocus then //先判斷父對像是否可以聚焦

        Parent.SetFocus ;

0 0
原创粉丝点击