Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Unicode Support in VB6

118 views
Skip to first unread message

TMC

unread,
Jul 8, 2009, 12:02:54 AM7/8/09
to
Hello All,

I was wondering if anyone has any familiarity with any of these 3rd party
unicode VB6 support products below:

http://www.iconico.com/UniToolbox2/

http://www.hexagora.com/en_dw_unictrl.asp

http://www.unisuite.com/product008.htm

If so, do you have any review comments or favor one over the other?

Thanks

Randem

unread,
Jul 8, 2009, 12:33:55 AM7/8/09
to
No, but you can use Unicode on most VB controls via a couple of API's and a
little work. Here is a little project I made up to show you how it is done.

Ref: http://www.randem.com/freesoftutil.html

go to "Display Unicode in Controls" at the bottom of the page.

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"TMC" <getmy...@yahoo.com> wrote in message
news:uZ5e7D4$JHA....@TK2MSFTNGP03.phx.gbl...

Bill McCarthy

unread,
Jul 8, 2009, 3:33:49 AM7/8/09
to

By most do you mean TextBox and Labels ?

"Randem" <newsg...@randem.com> wrote in message
news:eFR2MV4$JHA....@TK2MSFTNGP05.phx.gbl...

Randem

unread,
Jul 8, 2009, 4:05:26 AM7/8/09
to

No, but perhaps I should expand the term to

1 - Buttons
2 - Frames
3 - Text Boxes
4 - Option Boxes
5 - Check Boxes
6 - Combo Boxes
7 - Tab Strip
8 - List Boxes

Oh Yeah and the Label

Any questions????

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message
news:OVfWy75$JHA....@TK2MSFTNGP02.phx.gbl...

Bill McCarthy

unread,
Jul 8, 2009, 5:18:56 AM7/8/09
to

Well your sample says it doesn't support textboxes nor labels. So lets say
I have a label with the font set to arial unicode. And I want to display in
that label Chrw(&H2460). Can you show how to do that ?

BTW: in your code you have:

For Each frm In Forms

' Attempt each form

With frm
.Font = "Arial Unicode MS"
.Caption = sStr
.Text = sStr
DefWindowProc ctl.hWnd, WM_SETTEXT, 0, ByVal StrPtr(sStr)
.Refresh
End With

' Attempt each control on the form

For Each ctl In Me.Controls


Clearly ctl is not in scope inside your With frm block.

"Randem" <newsg...@randem.com> wrote in message

news:ePEzZL6$JHA....@TK2MSFTNGP05.phx.gbl...

Randem

unread,
Jul 8, 2009, 5:17:20 PM7/8/09
to
It take a genius to find all the inclusions, it takes someone far less
applicable to find exceptions...

BTW: Does it work. You are so busy attempting to take it apart you don't
even see what it actually does. I never sated that it does not work for
Labels or Textboxes but clearly state an issue with a partitcular approach

' This works for all controls having an hWnd which respond to the
WM_SETTEXT message.
' A Label has no hWnd and the textbox and combobox do not respond to
WM_SETTEXT.

Taken that into affect, the other approach rectifies that issue and Labels
and Textboxes do work. But I guess the actual PROOF seem to elude you.

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message

news:uuvW206$JHA....@TK2MSFTNGP02.phx.gbl...

Karl E. Peterson

unread,
Jul 8, 2009, 6:00:05 PM7/8/09
to

Randem wrote:
> It take a genius to find all the inclusions, it takes someone far less
> applicable to find exceptions...

Touche' :-)

> Taken that into affect, the other approach rectifies that issue and Labels
> and Textboxes do work.

Unless I misunderstand, which is entirely possible, no, not so. It seems to work
with more Forms 2.0 controls than intrinsic ones, but those are not redistributable.
In your example, it does work with the Command, Checkbox, Option, and Frame
controls. But none of the other natives. Actually, I'm impressed it's working with
those that it does work with, because (again, as I understood it) they're not
Unicode windows in the first place!
--
.NET: It's About Trust!
http://vfred.mvps.org


Randem

unread,
Jul 8, 2009, 7:36:10 PM7/8/09
to

Yes, that is correct. It was not meant to be a end all for the solution but
a possible way for it to work.

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Karl E. Peterson" <ka...@exmvps.org> wrote in message
news:ORtt0dBA...@TK2MSFTNGP04.phx.gbl...

TMC

unread,
Jul 8, 2009, 9:28:43 PM7/8/09
to
This seems to have turned into a discussion about a possible approach which
works for SOME controls.

Again, has anyone used or reviewed the tools that I mentioned.

If not, does anyone have approaches that EASILY cover the controls / use
cases which these mentioned libraries handle? Or perhaps source code
samples which cover the controls and use cases mentioned with the libraries
mentioned?

Thanks


"TMC" <getmy...@yahoo.com> wrote in message
news:uZ5e7D4$JHA....@TK2MSFTNGP03.phx.gbl...

Bill McCarthy

unread,
Jul 8, 2009, 11:32:43 PM7/8/09
to

Hi TMC,

I don't believe there is an easy approach for VB6 other than a complete set
of 3rd party controls. For VB versions later than VB6, then unicode is
supported with the intrinsic controls. So that's one low cost option that
provides you with great flexibility: you can write the controls in VB.NET,
and use then in VB6.

"TMC" <getmy...@yahoo.com> wrote in message

news:%23ibyfSD...@TK2MSFTNGP03.phx.gbl...

Bill McCarthy

unread,
Jul 8, 2009, 11:28:30 PM7/8/09
to

Hi Randem,

> Taken that into affect, the other approach rectifies that issue and Labels
> and Textboxes do work. But I guess the actual PROOF seem to elude you.

Yes it has, so perhaps you can actually show it here. As I asked
previously, how for example can I display Chrw(&H2460) in a label ?

"Randem" <newsg...@randem.com> wrote in message

news:%23pfI4FB...@TK2MSFTNGP04.phx.gbl...

Randem

unread,
Jul 9, 2009, 12:01:50 AM7/9/09
to
You have everything you need to figure it out. You have the code... The
files EVERYTHING...

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message

news:uWkODbEA...@TK2MSFTNGP02.phx.gbl...

TMC

unread,
Jul 9, 2009, 12:54:22 AM7/9/09
to

Thanks Bill. I figured as much.

The real issue then becomes ROI regarding writing the controls in .Net vs.
just buying controls from someone else ;-)

I just wondered if anyone else had used any of the 3 3rd party tools
mentioned, if there were others that could be recommended, etc.


"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message

news:%238TyDbE...@TK2MSFTNGP02.phx.gbl...

TMC

unread,
Jul 9, 2009, 12:51:30 AM7/9/09
to

I noticed that it does not seem to work with Form captions or ssTab. Are
there similar results with ListView, Common Dialog, MsgBox, etc.?


"Randem" <newsg...@randem.com> wrote in message

news:e1wzdTCA...@TK2MSFTNGP05.phx.gbl...

Bill McCarthy

unread,
Jul 9, 2009, 1:00:15 AM7/9/09
to

Nope, not working here. So perhaps you can show how ? I want to display
Chrw(&H2460) in a label.


"Randem" <newsg...@randem.com> wrote in message

news:ebUt6nEA...@TK2MSFTNGP04.phx.gbl...

Bill McCarthy

unread,
Jul 9, 2009, 1:03:17 AM7/9/09
to

For the form caption try fixing his code as per my early post. he's using
ctl.hwnd outside of the ctl loop scope where he should be using the form's
hwnd.

"TMC" <getmy...@yahoo.com> wrote in message

news:%230qgxDF...@TK2MSFTNGP03.phx.gbl...

Bill McCarthy

unread,
Jul 9, 2009, 1:13:52 AM7/9/09
to

Hi TMC,

The ROI really depends on how complex you want your controls to be. Like
using a .NET control, you can inherit from base controls and add
functionality easily. If you decide to extend a 3rd party control in VB6,
you have to encapsulate it in a user control (or do cut and paste with the
relevant code blocks each time you use it). So there's that flexibility.
If I was taking the .Net from VB6 approach, I'd basically write the Ui in
.NET. Depending how much you have already, it's be either UserControls that
constitute much of the form, or entire forms, or the entire UI (.NEt app
that calls on VB6 dll instead of other way around).

That said, if your needs are simple, an off the shelf 3rd party control set
might be quickest to get up and running; then again there is that whole
"looking for the right set" that your currently doing. I'd seriously want
the source with the controls. I've seen too many of those companies
disappear over the last five years or so, or just drop support for a set of
controls.


"TMC" <getmy...@yahoo.com> wrote in message

news:e2OWXFFA...@TK2MSFTNGP05.phx.gbl...

Randem

unread,
Jul 9, 2009, 1:18:28 AM7/9/09
to
Yes, the controls that I have checked that it works on at on the form. It
may work on others, especially if they support the SET_TEXT message call.

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"TMC" <getmy...@yahoo.com> wrote in message
news:%230qgxDF...@TK2MSFTNGP03.phx.gbl...

Randem

unread,
Jul 9, 2009, 1:21:42 AM7/9/09
to

Then you don't know how the collections work...

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message
news:%234nxQQF...@TK2MSFTNGP04.phx.gbl...

Randem

unread,
Jul 9, 2009, 1:22:13 AM7/9/09
to

Why you are not going to use it...

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message

news:%23a3KQQF...@TK2MSFTNGP04.phx.gbl...

Bill McCarthy

unread,
Jul 9, 2009, 1:48:38 AM7/9/09
to

Again I asked how to display Chrw(&H2460) in a label. You seem to be
avoiding that


"Randem" <newsg...@randem.com> wrote in message

news:OK110UFA...@TK2MSFTNGP03.phx.gbl...

Bill McCarthy

unread,
Jul 9, 2009, 1:47:41 AM7/9/09
to

Here's your code, in case you still don't get it. I've add a >>>>>>>>>> at
the point of the bad code. I guess you didn't see it because of your On
Error Resume Next. (or as you so quaintly put it "Then you don't know how
the collections work...
" <g>) HTH's.


On Error Resume Next

' Attempt to show language on each control on each form

For Each frm In Forms

' Attempt each form

With frm
.Font = "Arial Unicode MS"
.Caption = sStr
.Text = sStr
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DefWindowProc ctl.hWnd, WM_SETTEXT, 0, ByVal StrPtr(sStr)
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.Refresh
End With

' Attempt each control on the form

For Each ctl In Me.Controls

With ctl
.Tab = 0
.Row = 0
.Col = 0


.Font = "Arial Unicode MS"

.Font.Bold = False
.Font.Size = 10


.Caption = sStr
.Text = sStr

.AddItem sStr
.Tabs(0).Caption = sStr


DefWindowProc ctl.hWnd, WM_SETTEXT, 0, ByVal StrPtr(sStr)
.Refresh
End With

Next

Next

"Randem" <newsg...@randem.com> wrote in message

news:%23HeNiUF...@TK2MSFTNGP04.phx.gbl...

Randem

unread,
Jul 9, 2009, 2:20:59 AM7/9/09
to

And it took you five post to say that... Yes it does fix it.

--
Randem Systems
Your Installation Specialist
The Top Inno Setup Script Generator
http://www.randem.com/innoscript.html
Find Out What Your VB Program is Really Doing
http://www.randem.com/rstools.html

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message

news:OARXrjFA...@TK2MSFTNGP04.phx.gbl...

Mike Williams

unread,
Jul 9, 2009, 3:21:27 AM7/9/09
to

"Bill McCarthy" <TPASoft.com Are Identity Thieves> wrote in message
news:%238TyDbE...@TK2MSFTNGP02.phx.gbl...

> For VB versions later than VB6, then unicode is supported with the
> intrinsic controls.

There is no version of VB later than VB6. The dotnet stuf you are talking
about is built on a lie and is NOT VB at all and VB6 code will not work in
it. If you're going to suggest alternative tools with Controls that do
natively support unicode then suggest ALL of them, and not just those
produced and sold by your Micro$oft puppet masters. You're just a troll
McCarthy. A Micro$oft stooge.

Mike

Bill McCarthy

unread,
Jul 9, 2009, 3:53:05 AM7/9/09
to

Actually you should go back and read what I said five posts ago; and you
should have looked at your own code before saying to people that they "don't
know how collections work". But hey, at least you and I both know your
mistake ;)

"Randem" <newsg...@randem.com> wrote in message

news:O8Soq1FA...@TK2MSFTNGP02.phx.gbl...

-mhd

unread,
Jul 9, 2009, 10:25:56 AM7/9/09
to

"TMC" <getmy...@yahoo.com> wrote:

>I just wondered if anyone else had used any of the 3 3rd party tools
>mentioned, if there were others that could be recommended, etc.

Codejock has Unicode support in their controls.

-mhd

Mark

unread,
Jul 12, 2009, 1:35:56 PM7/12/09
to
On 9 July, 15:25, -mhd <not_r...@invalid.com> wrote:

Michael Kaplan recommended UniToolbox in a post back in 2004. That's a
recommendation from one of the top VB6 internationalisation experts.
http://groups.google.co.uk/group/microsoft.public.win32.programmer.international/browse_thread/thread/49042e0b17ff0daf/bb012c066a49d5a3?hl=en&lnk=gst&q=vb6#bb012c066a49d5a3

Nigel Bufton

unread,
Jul 13, 2009, 4:12:14 AM7/13/09
to

"Mark" <mark.tunna...@googlemail.com> wrote in message
news:aae78caa-45b7-433f...@d23g2000vbm.googlegroups.com...

I tried a few and went with Hexagora. Excellent support and a host of
functions to handle other Unicode needs beyond the basic controls (such as
file operations, common dialogs, etc.)

Nigel

Kevin Long

unread,
Jul 13, 2009, 1:21:39 PM7/13/09
to
On Jul 12, 1:35 pm, Mark <mark.tunnard.jack...@googlemail.com> wrote:

> Michael Kaplan recommended UniToolbox in a post back in 2004. That's a

> recommendation from one of the top VB6 internationalisation experts.http://groups.google.co.uk/group/microsoft.public.win32.programmer.in...

I checked out UniToolbox and it does have some basic controls, however
you might want to take a look at Codejock as MHD recommended. They
have some professional and modern controls including skinning, docking
panes, calendar, etc. http://www.codejock.com/products/suitepro/?platform=com.

-Kevin

TMC

unread,
Jul 14, 2009, 12:42:05 PM7/14/09
to

Thanks all for your suggestions and insights.

We will probably go with UniToolbox2 as it has all of the controls that we
need. UniSuite remains a very close 2nd but, as it turned, there were some
former colleagues that had good luck with UniToolbox and they've been around
for a while.


"TMC" <getmy...@yahoo.com> wrote in message

news:e2OWXFFA...@TK2MSFTNGP05.phx.gbl...

0 new messages