ooDialog uses an external function: GetStdTextSize() to calculate the size of a rectangle needed to display any give string in dialog units.
This function is very broken in that it will only return the correct result if the dialog is using the System 8 pt font. If the dialog is using any other font, the results are incorrect, sometimes by a lot.
System 8 pt font was the font used for dialogs in early versions of Windows. But today, no (hardly any) dialog box uses System 8 pt.
The problem is compounded because GetStdTextSize() is used in the implementation of a number of methods in different classes throughout ooDialog.
I am attaching a sample program that demonstrates the problem when run under 3.2.0. To run the programy you need all 3 files:
The program uses getTextSize() to calculate the size of a rectanger needed for each of 3 strings:
San Diego is great
ooRexx is the best
And ooDialog is better
It then places the strings in a straight line on the dialog book with no space between each string. It also has a push button allowing the font to be increased.
It shows that the strings are never aligned correctly under 3.2.0 and that the problem gets worse the bigger the font.