• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 718
  • Last Modified:

The topic does not exist. ... error 129 ...using F1 in Menu

Could someone please help me troublehoot this problem? I am a beginer in using context sensitive help - WinHelp and MS Help Workshop. I belive I have followed all the intructions in adding my new help to Menu and still getting this error. I would like to trace the WM_HELP message process to determine what I am missing. I do not want to change to HTML Help because I think my problem is with applying the F1 method to Menu. I have not tryed it in a dialog, maybe I should. I think I understand the "HID_x" involvement in the processing of the WM_HELP message, but I cannot see the realtionships with Map and the actual help (*.rtf) file in MS Help Workshop.
BTW - I realize that MS Help Workshop is not the "latest, coolest" help technology, but I would like to start with it before venturing into MS or Robo HTLM. Thanks Vaclav  
0
Vaclav
Asked:
Vaclav
  • 3
  • 2
1 Solution
 
zfactCommented:
Hi Vaclav,
Try to create a ID using the Help Workshop and implement the following and it will work ( To create a context sensitive help ID's reffer to Help in Help Workshop.).

BOOL CMyDialog::OnHelpInfo(HELPINFO* pHelpInfo)
{
     switch(pHelpInfo->iCtrlId)
     {
     case IDC_EDIT1: //F1 Pressed In Editbox 1
          ::WinHelp(m_hWnd,"MyHelp.Hlp",HELP_CONTEXTPOPUP,10);
          break;
     case IDC_EDIT2: //F1 Pressed In Editbox 2
          ::WinHelp(m_hWnd,"Hercules.Hlp",HELP_CONTEXTPOPUP,20);
          break;
     }
     return 0 ;
}
All The Best, Try It.
Thanks & Regards
Zfact
0
 
zfactCommented:
Hi Vaclav,
Try to create a ID using the Help Workshop and implement the following and it will work ( To create a context sensitive help ID's reffer to Help in Help Workshop.).

BOOL CMyDialog::OnHelpInfo(HELPINFO* pHelpInfo)
{
     switch(pHelpInfo->iCtrlId)
     {
     case IDC_EDIT1: //F1 Pressed In Editbox 1
          ::WinHelp(m_hWnd,"MyHelp.Hlp",HELP_CONTEXTPOPUP,10);
          break;
     case IDC_EDIT2: //F1 Pressed In Editbox 2
          ::WinHelp(m_hWnd,"MyHelp.Hlp",HELP_CONTEXTPOPUP,20);
          break;
     }
     return 0 ;
}
All The Best, Try It.
Thanks & Regards
Zfact
0
 
VaclavAuthor Commented:
OK, I'll try this, however, I have done some work on the problem and I think I am getting closer to the resolution.

BTW , I do not have problem generating the H(elp)ID's, just linking them to topics.

I have managed to eliminate the 129 error by using Alias and associating mine HID with AFX_HIPD_default. If I can figure out how to copy and mofify this AFX_HIPD_default I 'll be half way home. I have followed MS HW help in creating "topic" and have added "#HID-xxx" to my Help.rtf file, but I cannot figure out how does WinHelp/ MS Help Workshop  "translates" the HID-xxx to come up with this Help.rtf file as a topic.( It did not work anyway).  Where is the link? Map does not work - when I specify the Help file by itself it puts .hlp extension on it and than help complier cannot find it. Same if I put .rtf. Is this the missing link - the Map and if so, what am I doing wrong?

It would be nice if some guru could describe the logical flow from WinHelp to MS Help Workshop. I have looked on MS "blocK" diagram of this tool, but it did not help much.

As a sideline - just adding new Menu item to standard "File...." (after Exit)gives me this 129 error, but creating new menu(after Help) works fine - MS  HW comes up with this default "topic" without me doing anything. Go figure! What is the difference in MFC??
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
VaclavAuthor Commented:
I am begining to feel like a fool. I guess I have assumed too much about cooperation between MS VC++ and MS Help Workshop. This is where I am now - the VC++ builds *.cnt and *.hlp in Debug directory. The MS Help Workshop builds its stuff - including another *.cnt and *.hlp in hlp directory. The hlp directory has the *.hpj - project file - in it. VC++ works with Debug directory and I have not found where to change it! One has to juggle TWO sets of *.cnt and *.hlp to start with. So far it looks like the project ( to actually work with the MS Help) needs to be pointed to \Debug *cnt and *.hlp. My limited success with this theory so far - I can get new topic into Help Menu, only to receive an error that my *.rtf file is not "microsoft help file or is corrupted". I am assuming that Edit Contents Tab Entry file should be x.rtf where the actuall text I am after resides. Also, VC++ keeps recompling the \Debug\x.hlp file, which does not complete until I manually close the MS Help Workshop application!

I guess for now the solution to this "problem" is to read the fine print first. Thanks to all who participated so far. Vaclav
0
 
zfactCommented:
Hi Vaclav,
send me your email id and i will send you an sample, i think that will solve your proble. mail to zfact@rediffmail.com.

Thanks and Regards
Zfact
0
 
moduloCommented:
PAQed, with points refunded (100)

modulo
Community Support Moderator
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now