You are not going to be able to add unicode strings to non-unicode control properties. Doing so ends up converting them to ANSI. This is completely understandable. For example, adding a string to a listbox is done with API calls and a non-unicode window will be getting their ANSI messages from those API calls. With the listbox and adding list items, SendMessage(hWnd, LB_ADDSTRING, n, theString) is used & sends the listbox an ANSI string and if you tried to send it a unicode string, it will be expecting an ANSI string and give you unexpected results (??????). To display unicode strings and maintain their values, you will want to use unicode-capable controls. And for VB, this really means 3rd party controls.

Bottom line is that if you want to play with unicode, generally your controls should be unicode compatible too and have ways of accepting unicode strings, and they do.