首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

发个cxgrid的filterControl控件汉化方法,该如何解决

2013-01-25 
发个cxgrid的filterControl控件汉化方法前两天用cxgrid做个筛选功能,本来打算自己做几个Button和Edit进行

发个cxgrid的filterControl控件汉化方法
前两天用cxgrid做个筛选功能,本来打算自己做几个Button和Edit进行提交判断,后来发现cxgrid自带的filterControl控件功能就非常强大,直接用就很好.
但是问题是filterControl的界面是英文的,做出来用户会非常不便,直接用肯定不行.但是在控件里没办法改,所以就尝试直接修改控件的源代码再加载,因为仅仅只是修改显示文字,功能上并没有修改,所以还是很简单的,只需要将几个相关的pas文件里的常量修改一下就可以了.
我用的是delphi2007,加载的控件包是ExpressEditors Library 5,包里source下cxFilterControlDialog.pas文件就是filterControl的主界面,查看源码,Initialize方法就是对主界面的一些显示操作,里面像btSave.Caption啊,btOk.Caption啊,btOpen.Hint啊,是什么意思一看就明白了,后面的取指针所存的就是具体显示的Text,在文件cxFilterControlStrs.pas里接口下的resourcestring部分保存,一个个对应着修改就好了.
但是以上能修改的只是主界面的显示文字,还有筛选条件的选择,比如equal,not equal,like什么的是不能修改的,这些常量保存在另外一个文件中,可以通过操控页面来找到,控制这个显示的页面是ExpressEditors Library 5包里的cxFilterControlUtils.pas文件,通过GetFilterControlOperatorText方法来取得筛选条件的显示文字,要修改文字同上面一样修改指针常量存放的文字就可以了,点击会发现这次指针常量存放的文件是在ExpressDataController包下的cxFilterConsts.pas文件,和上面一样修改即可.
到此大功告成,保存源文件,删除ExpressEditor Library 5(cxEditorsD11.bpl)控件,重新加载ExpressEditors Library 5\Packages下的cxEditors*.bpl控件就行了,这个就不用我说了.
呕心沥血找了一下午,终于解决,呵呵,在此和大家分享一样,此前在Google上搜到一个说对这个有汉化,不过也是好老的版本了用不了,还是得自己做,所幸比较容易.
[解决办法]
devExpress有自带的本地话资源编辑工具。还有对应控件。lz多此一举了呀。

热点排行