gpt4 book ai didi

c++ - 如何将 MFC 对话框映射到不同的帮助 ID?

转载 作者:行者123 更新时间:2023-11-28 06:43:54 25 4
gpt4 key购买 nike

我有一个带有帮助按钮的对话框 CMyDialogBox。我已将该帮助按钮映射到所需的 helpid。

当我有以下要求时,问题就出现了:当我创建以下实例时,帮助按钮应该映射到不同的帮助。

CMyDialogBox mesg1;  // help should map to 123.htm
CMyDialogBox mesg2; // help should map to 124.htm
CMyDialogBox mesg3; // help should map to 125.htm

但是对话框有一个帮助按钮映射到一个帮助内容。如何映射到多个帮助 ID?

我尝试过的:
我尝试使用 Setntrldlg() 更改 initdailog() 函数中对话框的对话框 ID但没有结果。

最佳答案

我认为您很接近,但可能应该调用 SetHelpID 而不是 SetDlgCtrlID

这个问题已经有好几年了,所以为了其他遇到这个问题的人的利益,这里是如何做的。假设选择哪个帮助页面的决定可以在 OnInitDialog 期间决定,并且假设您正在使用 HTML Help Compiler 工具,就像您“应该”使用它们一样:

  1. resource.h 文件中定义 ID,尤其是 makehm 实用程序可以看到它们,以生成“H”版本。
  2. OnInitDialog 中,使用这些 ID 之一调用 SetHelpID,具体取决于对话框的模式,或者需要不同帮助页面的任何条件。尽管名为 SetHelpID,但它采用常规 ID,因为应用程序中不存在“H”前缀的 ID。
  3. 在帮助文件中,设置 ID 的“H”版本以映射到其他 HTML 文件。
  4. 如果您正在使用对话框模板,并且没有将其用作您的帮助 ID 之一,您可能希望继续将它映射到帮助页面,以防 SetHelpID 不这样做不会被要求提供您的备用 ID 之一(例如,可能存在异常或其他情况)。

关于c++ - 如何将 MFC 对话框映射到不同的帮助 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25398734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com