Well, I got the rough idea of how to do it but haven't implemented it yet
[FONT=Verdana, Arial, Helvetica]To write the help file, you should use CHM instead of WinHelp (.hlp) which is outdated.
CHM is just a kind of archive containing HTML, images, and other files.
To create documentation in CHM format, you first need to convert it to HTML format. Then, you can use the HTML Help Compiler which converts your HTML and image files into CHM. The Help Compiler is available as a part of the "HTML Help Workshop" available for free from Microsoft. There are also many 3rd party tools making it much easier to create CHM files.
To link your UDF to CHM, you need to specify the help file name and the help topic number (separated by "!") when registering the UDF (I assume you use Excel() with xlfRegister). The help topic number is an integer number which is associated with some help file topic (which is just a separate HTML file inside the CHM "archive").
Thus, you need to create a separate help topic in a CHM file for each UDF your XLL exports, then assign a unique integer number to each topic, and specify the appropriate numbers when registering the functions inside the XLL.
There are many tutorials on the Internet describing how to create CHM files. To help you get started, I will just mention that you need to create the [ALIAS] and [MAP] sections in your HHP (HTML Help Project) file, for example:
---- MYHELP.HHP ----
[FILES]
index.html
myfunc1.html
myfunc2.html
myfunc3.html
[ALIAS]
IDH_topic_1 = myfunc1.html
[MAP]
#define IDH_topic_1 1001
-------------------------
When registering myfunc1 in your XLL, you should specify "MYHELP.CHM!1001". Unfortunately, neither can you specify the function title ("MYHELP.CHM!MyFuncTitle") nor the HTML file ("MYHELP.CHM!myfunc1.html") directly... at least I haven't been able to make this work. It appears that you have to use integer numbers and map them to HTML files. If you find a way to use strings instead of numbers, please let me know.
[/FONT]