我想制作菜单,可以用英语以外的特定语言显示菜单项。 VB6.0的菜单编辑器中没有字体选择标准 那我怎么能这样做?
答案 0 :(得分:2)
VB6是外部的ANSI应用程序。它在内部和COM中都是unicode。但是,与API调用直接或间接相关的任何操作都使用ANSI。
当您创建窗口(例如表单)时,如果您是ANSI程序,则使用CreateWindowsExA,如果是unicode,则使用CreateWindowsW。如果您使用ANSI版本,那么一切都是ANSI。 Windows发送到Window的所有字符串都是ANSI,Windows假定您只返回ANSI字符串。
当VB发布时,大多数安装的Windows都无法执行unicode。
您可以使用unicode字符的字节数组而不是字符串直接将这些函数称为unicode(只传递数组中的第一个字节,而windows认为它是一个unicode字符串)。
如果你打算这样做,你需要阅读基本的C样本(这并不困难),就像这个东西的语言一样。其他人都使用表单包。
现在对于东亚语言,他们使用DBCS。它就像UTF8,但与unicode无关。 Windows会自动进行转换。
请参阅区域设置中的非unicode设置。
这是来自帮助
使用仅为SBCS字符设计的字体时,DBCS字符可能无法在DBCS版本的Windows中正确显示。在使用英语版本的Visual Basic或任何其他SBCS语言版本开发启用DBCS的应用程序时,需要更改Font对象的Name属性。 Name属性确定用于在控件,运行时图形或打印操作期间显示文本的字体。此属性的默认设置是英文版Visual Basic中的MS Sans Serif。要在DBCS环境中正确显示文本,必须将设置更改为运行应用程序的DBCS环境的相应字体。您可能还需要通过更改Font对象的Size属性来更改字体大小。通常,在大多数东亚平台上,应用程序中的文本将以9磅字体显示,而在欧洲平台上则是8字体字体。
这些注意事项也适用于使用您的应用程序打印DBCS字符。
答案 1 :(得分:1)
使用的字体取决于Windows的版本,并且应该能够处理Windows配置的任何语言。
答案 2 :(得分:1)
VB6表单和控件使用PC上的当前Windows code page。您没有提到当前的Windows代码页是否支持您要使用的语言(Bangla)
答案 3 :(得分:1)
您可以使用资源文件完成所需的操作。 Have a look here让你入门
我前段时间使用阿拉伯语做了这个 - 我使用了资源偏移(英语为1000,阿拉伯语为2000)。然后,您可以加载所需的字符串,例如:
LoadResString(1+1000) ' to load the English String
LoadResString(1+2000) ' to load the Arabic (or Bangla) String
您只需要确保在创建资源文件时,您的计算机正在使用正确的区域设置 - 希望能让您从正确的轨道开始