Forum: Multi-Language Add-In for VB6

MSFlex grid and MaskEdit

Hi, just working with the ML for VB6 and noticed that it does not handle MSFlexGrid well.
It doesn't allow me to select TextMatrix and change the params. It say's multi params not supported.
Also MakedEdit give an error saying it is write only. (it's trying to read it during the scan).
Bothersome since I keep getting the debugger dialog box and have to keep clicking No.




Hi Patrick,

the VB6 Add-In is pretty flexible in handling properties, but you have to draw the line somewhere. It can handle properties with a single index value, but not with multiple index parameters. That is a restriction which I am certainly not going to change now.

If you just want to localize a single row (or column), where one of the two parameters is constant, I might be able to handle this. It looks like the Add-In can handle this for child-objects, but not text properties, so that wouldn't be a big change. It might even be possible just by patching the definition into the controls database.

I'm not really familiar with the MSFlexGrid, so I don't know how you would define the column header text. If you set the column headers with the TextMatrix property, then this would make sense to me.

If you really want to localize the content of the grid, then I am surprised. Usually, the content of a grid is far to large and to dynamic to be localized with a tool like the Multi-Language Add-In. Is the complete content of your grid defined as static texts?

Whatever the problem, you can always work around it by moving the initialisation into the program code. Then you can localize it with the source code.

With regard to the MaskedEdit control, I can reproduce this problem, but I don't really understand it. You can get rid of the error, by deselecting the Text property in the controls database (which you obviously know how to do). Of course, having done that, you cannot localize this property.

Internally, the Add-In reads properties using the Eval method of a ScriptControl object. The message "Property is Write-Only" is returned by the ScriptControl object. I don't think there is much that I can do about this.

However, surely the property which really needs localizing is the Format property. Do you really want to localize the Text property? If not, then there is no problem in deselecting it in the controls database.


Hi Phil, thanks for the info. As you say why would I want to localize all the data in the grid...and that's fine I can just de-select it, as you say. I was just concerned about the error messages from the scriptcontrol.

I will continue to evaluate the product although the problem I have is that I have a very large project, in that, I select all my strings from a text file via the GetPrivateProfileString function so all my .text or .caption's are not actually strings but the call to the function.
I started looking at your control because GetPrivate.....does not seem to support, properly, getting letters in, say Polish, that have the accent marks such as slashes or diacritics. (the whole unicode thing which is confusing to me!).

I assume your control will have no problem with that.




Hi Patrick,

you might be interested in this article:
Why do strings appear as ???
(which you can also access via the Articles link at the top of this web site).

To sum it up, it might help to set the "Language for non Unicode applications" via the regional settings in the control panel.