我读过这篇文章:
它清楚地表明页脚支持超链接。我不知道该怎么做。我不想要文本中的文字 URL,而是其他超链接到程序中帮助文章的文本。
这有效:
#include "stdafx.h"
#include "CMyTaskDialog.h"
IMPLEMENT_DYNAMIC(CMyTaskDialog, CTaskDialog)
CMyTaskDialog::CMyTaskDialog(_In_ const CString& strContent,
_In_ const CString& strMainInstruction,
_In_ const CString& strTitle,
_In_ int nCommonButtons,
_In_ int nTaskDialogOptions, _In_ const CString& strFooter)
: CTaskDialog(strContent, strMainInstruction, strTitle, nCommonButtons, nTaskDialogOptions, strFooter)
{
}
CMyTaskDialog::~CMyTaskDialog()
{
}
HRESULT CMyTaskDialog::OnHyperlinkClick(const CString& strHref)
{
HWND hwnd =
HtmlHelp(
GetDesktopWindow(),
_T("d:\\MeetSchedAssist.chm::/") + strHref,
HH_DISPLAY_TOPIC,
NULL);
return S_OK;
}
但是,仍然存在两个问题:
CTaskDialog
没有GetSafeHWnd
API 调用,所以我不知道如何将其设置为父级。
这OnHyperlinkClick
是通用的,因此如果您在任务对话框中有多个链接,您可能必须测试该短语以确定您希望如何处理它。