Here's a bit more history and information on this topic to capture it in a relevant discussion (in case the people that remember these things get hit by a bus ;-)
file format was deprecated in 2003 when XMetaL Developer was first introduced. A new editor was provided with XMetaL Developer that saves forms in a different format with an .xft
file extension. This information was included with the XMetaL Developer 4 documentation. If an .hhf
file needed to be altered the only supported option was to recreate it in the .xft
format. You could continue to develop .hhf
files using XMetaL 2 or 3 and use them with XMetaL Author 4 and up, but clients approaching XMetaL Support that had issues with the old .hhf
format have been encouraged to move to the new .xft
format. XMetaL Support has not provided support for .hhf
file format since 2004.
If you really feel stuck to the point where you want to try to continue to use .hhf
Microsoft has some information on the FM20.dll here: https://support.microsoft.com/en-us/kb/224305
A link on that page directs you to a different location where you can find an installer that Microsoft claims also installs the FM20.dll.
In theory, once you install FM20.dll the .hhf
file format should work (but no guarantees).
When "ActiveX Control Pad" was being installed as part of XMetaL 2 and 3 the information Microsoft was providing about it at the time was quite different from what that page states now. They encouraged developers to use it in their own applications, web pages (IE), as part of MS Office customizations, and to distribute it freely. I cannot find Microsoft's webpage that first informed 3rd party software makers they would no longer be able to distribute the ActiveX Control Pad with their software, but I believe it was around 2008. I think we released at least one version of XMetaL Author that gave you a choice to download and install ActiveX Control Pad from the Microsoft website as part of our installation. It directed you to a specific Microsoft web page where Microsoft was still encouraging people to use the control. At some point we assumed everyone had moved on to using .xft
and because Microsoft kept moving that webpage around we removed this option from our installer.
There is no guarantee Microsoft will not change their current stance on the fm20.dll in future. In that case you might be limited to copying it from one legacy machine to another and manually registering it. I'm not sure if Microsoft would consider that legal use of the control. They might frown on that if it is included with other software they are selling.
The XMetaL development team doesn't plan to specifically remove support for .hhf
forms from XMetaL Author in the future but if .hhf
stops working it will most likely be due to something external (perhaps a new Microsoft compiler will not be able to deal with our old code that drives it, or there might be a conflict with other new code we consider more important, etc). In that case it is unlikely we would try to restore it. We also would not notice unless a client pointed it out because we have not tested .hhf
The built-in list of controls in the .hhf
editor probably varies slightly from the list included with .xft
(I don't have an old XMetaL 3 readily available to check) but all the controls most people might want should be there in .xft
(plus a few weird ones). XFLayout (the .xft
editor) includes a ListBox control as one of its standard controls. It might have different property names and events from the one included with XMetaL 2 and 3 (.hhf
) but it has very similar functionality. (If it looks and acts like a ListBox...?) XFLayout includes the following controls:
|Text||called a "label" in VB and similar environments|
|CheckButton||usually called a CheckBox in other environments|
|EditBox||called a "TextBox" in VB and similar environments|
|MultiEditBox||an EditBox that supports multiple lines of text|
|DataSource||links a data source to a form using Windows DSN|
|Line||draws single straight lines at any angle|
|Polyline||identical to 'Line' (not much point to this one)|
|Freehand||draws a 'freehand' line of any shape|
|Border||draws rectangular shapes|
|Arc||draws portions of ellipses and circles|
|Ellipse||draws ellipses and circles|
|Frame||draws a rectangle that includes a text label at the top, called a GroupBox in VB and similar environments|
|Bitmap||displays bitmap images|
|Hilite||draws rectangular coloured shapes without a border|
It is also possible to add any standard ActiveX control to an .xft
form that can be added to a .hhf
form (even including complex controls like the Microsoft WebBrowser control). You just need to add the control to the list of tools in the toolbox. To see a list of all ActiveX controls installed on your system right click in the toolbox in the .xft
editor and select "Add control" and select the control you want to make available. Most controls that Microsoft installs (either with Windows or as part of their other software) start with either "MS" or "Microsoft".