偶用的是delphi7,设置TEdit控件的maxlength=4,如果使用主题控件XPManifest,则可以输入四个汉字,不用主题控件则正常,不知道是为什么,大家讨论如何解决。

解决方案 »

  1.   

    不是Delphi的Bug
    TEdit控件实际上是使用的Windows的公用控件集。
    这是windows自身的问题,估计应该是没用XPManifest之前公用控件集是使用ANSI字符串来判断字符长度,而使用后windows应该是以Unicode来判断字符个数。
      

  2.   

    定义判断函数...
    Result:=Lenght(WideString(EditX.Text))=4;
    //Result:=Lenght(EditX.Text)=4;//英文判断
    判断 长度 4就可以(KeyPress Change之类过程)
      

  3.   

    to exu(大脸猫) 
    我也查出是windows的问题,可是如何解决啊!!急急急急急急急急急!!!