使用VB6.0制作不同语言的菜单(孟加拉语)

时间:2011-09-17 19:19:38

标签: vb6 internationalization

我想制作菜单,可以用英语以外的特定语言显示菜单项。 VB6.0的菜单编辑器中没有字体选择标准 那我怎么能这样做?

4 个答案:

答案 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)

  • 如果当前代码页 支持您要使用的语言,则没有问题。一切都应该工作。您可能需要更改表单的字体(在设计器中选择表单本身并使用属性框)。
  • 如果当前代码页不支持支持您要使用的语言,那么如果不付出巨大努力,您将无法成功。我讨厌这样说,但如果可能的话,我会建议使用VB.net。

答案 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

您只需要确保在创建资源文件时,您的计算机正在使用正确的区域设置 - 希望能让您从正确的轨道开始