15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Problem with help in CFileDialog

achyuth -- achyuth@geocities.com
Thursday, January 09, 1997

Environment: MSVC 1.52 Win 95

Hi,

I am launching windows common dialogs (CFontDialog, CFileDialog) from my
application. I need to associate my own context sensitive help for the
dialogs (even Windows help would suffice). I haven't customised these
dialogs. When I opened the commdlg.dll thru AppStudio, I found that the
ID for the help button is IDHELP instead of ID_HELP. Please note that I
am using 'makehm' for generating the HELP ID's to be associated with the
help file and then using 'hc31' for compiling the 'rtf' file. When I
clicked the 'Help' button from the dialog, a message 'Topic not found.
Contact vendor bla bla'. Will it be possible to do this without
customising the common dialogs.

Thanx in advance,

Achyuth



Ravi -- ravi.swaminthan@midata.com
Friday, January 10, 1997

[Mini-digest: 2 responses]


Environment: MSVC 1.52 Win 95

Hi,

I am launching windows common dialogs (CFontDialog, CFileDialog) from my
application. I need to associate my own context sensitive help for the
dialogs (even Windows help would suffice). I haven't customised these
dialogs. When I opened the commdlg.dll thru AppStudio, I found that the
ID for the help button is IDHELP instead of ID_HELP. Please note that I
am using 'makehm' for generating the HELP ID's to be associated with the
help file and then using 'hc31' for compiling the 'rtf' file. When I
clicked the 'Help' button from the dialog, a message 'Topic not found.
Contact vendor bla bla'. Will it be possible to do this without
customising the common dialogs.

Thanx in advance,

Achyuth

Hi achyuth,

      I think your problem is basically due to the HELPID not being found   
in the application's help file for the common dialogs. The best way to   
overcome this, without customizing the common dialogs, is to override the   
"OnCommandHelp" routine in your parent window to the dialog and check for   
the HELPID corresponding to the common dialog. You can calculate the   
HELPID from the DIALOG ID by referring the MFC tech notes. Check for that   
particular HELPID and launch your own topic by using the WinHelp routine   
and your application help file.

Bye,
Ravi Swaminathan, M & I Data Services, Milwaukee, WI.
Ravi.Swaminthan@midata.com


-----From: Mihir Dalal 


On Thu, 9 Jan 1997, achyuth wrote:

> Environment: MSVC 1.52 Win 95
> 
> Hi,
> 
> I am launching windows common dialogs (CFontDialog, CFileDialog) from my
> application. I need to associate my own context sensitive help for the
> dialogs (even Windows help would suffice). I haven't customised these
> dialogs. When I opened the commdlg.dll thru AppStudio, I found that the
> ID for the help button is IDHELP instead of ID_HELP. Please note that I
> am using 'makehm' for generating the HELP ID's to be associated with the
> help file and then using 'hc31' for compiling the 'rtf' file. When I
> clicked the 'Help' button from the dialog, a message 'Topic not found.
> Contact vendor bla bla'. Will it be possible to do this without
> customising the common dialogs.
> 
> Thanx in advance,
> 
> Achyuth

Achyuth,

I am sure you are messing up somewhere with the RTF file you have made. 
Either you have changed the footnote for the topic on "filedialog" or you 
just have not editted it carefully.

If that is not the case, you have altered the "YourApp.hm" file in your 
\hlp directory.

I have successfully edited, altered my CFileDialog help contents in the 
.rtf file, I even altered the sequence in which the topics are put in the 
.rtf file, but I carefully retained the footnotes and the ".hm" file entries.

Believe, me not only F1 but also the context sensitive help works 
absolutely fine with the CFileDialog. 

If you go ahead and customize the file dialog retaining the standard help 
button, even then things work quite smoothly.

In case you have trouble, do mail me again and I will send you the exact 
footnote which needs to be put with that particular help topic, & what 
entry should be in the ".hm" file. 

Aother hint, does your "makehelp.bat" excecution work fine without any 
errors, warnings or some "Bad command or file name" prompts ??

Note that "makehelp.bat" has to succeed before you check 
your help at run time.

Regards
Mihir. 



suneeta singh -- suneeta@hotmail.com
Monday, January 13, 1997

Achyut,
   You can get the help IDs for the common dialog box in the file
afxres.h in mfc\include directory. It is AFX_IDD_FILEOPEN for File open dialog
box. You will have to use this ID for the Help button.

Suneeta

>
>
>Environment: MSVC 1.52 Win 95
>
>Hi,
>
>I am launching windows common dialogs (CFontDialog, CFileDialog) from my
>application. I need to associate my own context sensitive help for the
>dialogs (even Windows help would suffice). I haven't customised these
>dialogs. When I opened the commdlg.dll thru AppStudio, I found that the
>ID for the help button is IDHELP instead of ID_HELP. Please note that I
>am using 'makehm' for generating the HELP ID's to be associated with the
>help file and then using 'hc31' for compiling the 'rtf' file. When I
>clicked the 'Help' button from the dialog, a message 'Topic not found.
>Contact vendor bla bla'. Will it be possible to do this without
>customising the common dialogs.
>
>Thanx in advance,
>
>Achyuth
>
>Hi achyuth,
>
>      I think your problem is basically due to the HELPID not being found   
>in the application's help file for the common dialogs. The best way to   
>overcome this, without customizing the common dialogs, is to override the   
>"OnCommandHelp" routine in your parent window to the dialog and check for   
>the HELPID corresponding to the common dialog. You can calculate the   
>HELPID from the DIALOG ID by referring the MFC tech notes. Check for that   
>particular HELPID and launch your own topic by using the WinHelp routine   
>and your application help file.
>
>Bye,
>Ravi Swaminathan, M & I Data Services, Milwaukee, WI.
>Ravi.Swaminthan@midata.com
>
>
>-----From: Mihir Dalal 
>
>
>On Thu, 9 Jan 1997, achyuth wrote:
>
>> Environment: MSVC 1.52 Win 95
>> 
>> Hi,
>> 
>> I am launching windows common dialogs (CFontDialog, CFileDialog) from my
>> application. I need to associate my own context sensitive help for the
>> dialogs (even Windows help would suffice). I haven't customised these
>> dialogs. When I opened the commdlg.dll thru AppStudio, I found that the
>> ID for the help button is IDHELP instead of ID_HELP. Please note that I
>> am using 'makehm' for generating the HELP ID's to be associated with the
>> help file and then using 'hc31' for compiling the 'rtf' file. When I
>> clicked the 'Help' button from the dialog, a message 'Topic not found.
>> Contact vendor bla bla'. Will it be possible to do this without
>> customising the common dialogs.
>> 
>> Thanx in advance,
>> 
>> Achyuth
>
>Achyuth,
>
>I am sure you are messing up somewhere with the RTF file you have made. 
>Either you have changed the footnote for the topic on "filedialog" or you 
>just have not editted it carefully.
>
>If that is not the case, you have altered the "YourApp.hm" file in your 
>\hlp directory.
>
>I have successfully edited, altered my CFileDialog help contents in the 
>.rtf file, I even altered the sequence in which the topics are put in the 
>.rtf file, but I carefully retained the footnotes and the ".hm" file entries.
>
>Believe, me not only F1 but also the context sensitive help works 
>absolutely fine with the CFileDialog. 
>
>If you go ahead and customize the file dialog retaining the standard help 
>button, even then things work quite smoothly.
>
>In case you have trouble, do mail me again and I will send you the exact 
>footnote which needs to be put with that particular help topic, & what 
>entry should be in the ".hm" file. 
>
>Aother hint, does your "makehelp.bat" excecution work fine without any 
>errors, warnings or some "Bad command or file name" prompts ??
>
>Note that "makehelp.bat" has to succeed before you check 
>your help at run time.
>
>Regards
>Mihir. 
>


---------------------------------------------------------
Get Your *Web-Based* Free Email at http://www.hotmail.com
---------------------------------------------------------




| Вернуться в корень Архива |