点击PropertySheet中的帮助按钮时,是怎么调用上下文帮助文档的?不是通过WinHelp()调用的。请对消息传递有研究的高手帮忙!

nodefault 2006-01-18 10:50:31
点击PropertySheet中的帮助按钮时,是怎么调用上下文帮助文档的?不是通过WinHelp()调用的。请对消息传递有研究的高手帮忙!

我对以下程序单步跟踪时,点击PropertySheet中的“帮助”按钮时,进入下面函数(这时nID =9),然后进入MFC的CPropertySheet::OnCmdMsg()(退出MFC后nID =57670);再执行下面函数,然后进入MFC;再执行下面函数,然后进入MFC; 一共执行3次后才调用帮助文档。


BOOL CTndSheet::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo)
{
if (nID == IDOK)
{
UpdateTestCaseInfo();
// 通知主窗口文档内容已经变更,关闭程序时需要保存
((CMainFrame*)AfxGetMainWnd())->GetActiveDocument()->SetModifiedFlag(TRUE);
}

return CPropertySheet::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo);
}

能不能告诉我这是怎么把帮助按钮和帮助文档联系起来的?调用机制是什么??
大家可以参照:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/commctls/propsheet/propsheet.asp

...全文
167 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nodefault 2006-01-20
  • 打赏
  • 举报
回复
好的!我看看。谢谢了!
taianmonkey 2006-01-19
  • 打赏
  • 举报
回复
http://www.codeproject.com/property/EmbededPSContextHelp.asp
nodefault 2006-01-19
  • 打赏
  • 举报
回复

我的程序中不是用这几个函数调用帮助文档的。
菜牛 2006-01-18
  • 打赏
  • 举报
回复
你可以看看这几个CWnd的成员函数:

Help Command Handlers and Functions

HtmlHelp Called to initiate the HTMLHelp application.
OnHelpFinder Handles the ID_HELP_FINDER and ID_DEFAULT_HELP commands.
OnHelpIndex Handles the ID_HELP_INDEX command and provides a default Help topic.
OnHelpUsing Handles the ID_HELP_USING command.
OnHelp Handles F1 Help within the application (using the current context).
WinHelp Called to initiate the WinHelp application.
nodefault 2006-01-18
  • 打赏
  • 举报
回复
我是楼主!
taianmonkey给我的回答是:
Property sheets can display two Help buttons: a property sheet Help button that is displayed at the bottom of the frame, next to the OK/Cancel/Apply buttons, and a standard caption bar button that provides context-sensitive Help.
The property sheet Help button is optional, and can be enabled on a page by page basis. To display the property sheet Help button for one or more pages:
For each page that will display a Help button, set the PSP_HASHELP flag in the dwFlags member of the page's PROPSHEETPAGE structure.
When the user clicks the Help button, the active page receives a PSN_HELP notification message. The page must respond by displaying Help information, typically by calling the WinHelp function.

我的程序应该不是常规的调用WinHelp的方法了。谁能指点我,是怎么调用的?

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧