修正TListView应用XP Theme时的错误

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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控件代码的情况修正问题。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航