我一直在测试一个应用程序使用listView,它适用于西欧字符。但是,如果区域设置是土耳其语,则字符在列表视图中显示为错误。ListView显示错误的文本VB6.0
例如,字符'Ş'将显示为'Þ'。
我可以看到,这两个字符表示为十进制:254
我怎么能强迫我的ListView使用本地代码页而不是Unicode的?
感谢您的任何建议。
我一直在测试一个应用程序使用listView,它适用于西欧字符。但是,如果区域设置是土耳其语,则字符在列表视图中显示为错误。ListView显示错误的文本VB6.0
例如,字符'Ş'将显示为'Þ'。
我可以看到,这两个字符表示为十进制:254
我怎么能强迫我的ListView使用本地代码页而不是Unicode的?
感谢您的任何建议。
它不使用unicode,如果它在VB表单包中。
VB6是ANSI应用程序(Win95没有unicode API)。 Unicode内部和使用COM时。但是创建一个列表框是一个窗口,使用ANSI。
因此,您需要在区域设置中设置nonunicode代码页。
此外,帮助有一整章。
原来可以设置ListView控件的字符集概述如下:
listView.Font.Charset = 1 ' Default charset obtains current codepage
虽然语言格式需要是相同为Locale这解决了我的问题。
MSHFlexGrid提供的一件事是Unicode支持。 VB6中根本没有“Unicode问题”,这是选择正确控件的问题。
如果在VB6之后进行过一次进化,那么当Win9x离开时我们会看到更多的控件移动到Unicode。可悲的是这被缩短了。
如果你需要一个Unicode ListView那里是你可以做的事情。有第三方控件或甚至可以使用Unicode子类在OCX中的ListView控件包装器下挖掘的方法。
http://support.microsoft.com/kb/193540 – Rob 2015-03-04 00:20:26