令人郁闷的XPMan

      因工作需要,最近用Delphi写了一个1万多行的小程序,主要供内部使用。为了使用XP风格的界面,在其中使用了XPMan。结果在同事试用的过程中,发现了两个Bug,竟然都是和XPMan相关的。  
 
      上网搜了一下,发现VCL+ XP Manifest还有许多Bug,现列举如下:
      1. DropDown风格的TCombobox控件,用BackSpace键删除汉字时,光标定位不准确,还会出现乱码。暂时可以通过重载KeyPress函数写响应的处理过程弥补。
      2. TLabel和TPanel的背景色不正常;通过设置ParentFont=False;ParentControl3D=False;可以解决。
      3. 放在TFrame上的各种TGraphic派生控件会消失,参见 这里的讨论。
      4. ActionMenubar 和 ActionToolbar的渐变绘制不正常。
      5. 字符集问题:在Win2000下,即使设了Charset,非Ansi字符有时也会显示乱码。
      6. 。。。
 
      由此可见,一旦使用了XPMan,往往会陷入“the XPMan hell in VCL”。 这些Bug大多是因为VCL框架没有使用Windows控件标准绘制和资源管理方式,最后只能通过在程序里打补丁的方式暂时解决。
       所以还是从程序中去掉与之相关的代码为好。

你可能感兴趣的:(windows,框架,工作,XP,dropdown,Delphi)