修正TListView应用XP Theme时的错误

来源:互联网 发布:斗牛seo 编辑:程序博客网 时间:2024/06/05 14:52
Dephi6(及以下版本)并不提供XP风格支持,因为Dephi6推出时XP还在测试当。要使应用程序支持XP风格必须添加"manifest xml”资源文件到应用程序中,告诉系统对此应用程序使用6.0的comctl32.dll,而不是5.0。但有部分VCL控件与6.0存在兼容问题。
  TListView为vsReport时,鼠标移到列头时会抛出异常,修正这个问题需要修改ComCtrls.pas,步骤如下:
  1.打开ComCtrls.pas文件,查找TCustomListView.UpdateColumn;
  2.找到以下语句:
          if FImageIndex <> -1 then
              fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES;
  3.改为:
          if FImageIndex <> -1 then 
              fmt := fmt or LVCFMT_IMAGE or LVCFMT_COL_HAS_IMAGES 
          else 
              mask := mask and not (LVCF_IMAGE);
  3.保存Comctrls.pas,OK,问题解决!
  另外,www.tmssoftware.com提供免费控件,可以在不改动原VCL控件代码的情况修正问题。
原创粉丝点击