Display and Input of Unicode Characters in Legacy VB6 Applications

August 5th 2006 Unicode Visual Basic 6

Although in Visual Basic 6 all string variables are inherently Unicode, the same is not true for the components that come with it – they aren't capable of displaying (or accepting input of, for that matter) Unicode characters. The same goes for most of the popular third party ActiveX controls that are available on the market.

Unless you're deciding to move the form (or even the complete application) to .NET, the best solution is to use the components from the Microsoft Forms 2.0 Object Library. There are a few downsides though:

  • They come with Microsoft Office and aren't freely redistributable. But even if your clients don't have Microsoft Office, they can legally obtain the components by installing the free Microsoft ActiveX Control Pad which contains them.
  • The use of these components outside Microsoft Office isn't officially supported. Still this shouldn't be a problem as long as everything works. After all, even Microsoft recommends using these components in such a situation.
  • The set of the components is not really complete and it might not be enough if you have a bit more complex needs. In this case there's still UniToolbox available. I haven't tried it but it looks a promising collection of Unicode components for Visual Basic 6. Might be worth a look.
Copyright
Creative Commons License