通常,您可以通过将 HTML 对话框的资源 ID 分配给 m_nHtmlResID 来指定 CDHtmlDialog 将使用哪个 HTML 资源。这个资源 ID 对应于您在资源编辑器中定义的 HTML 文件的 ID。
以下是一个简单的示例,演示了如何在 CDHtmlDialog 类中使用 m_nHtmlResID:
// MyHtmlDialog.h
#pragma once
#include "afxhtml.h"
class CMyHtmlDialog : public CDHtmlDialog
{
public:
enum { IDD = IDD_MYHTMLDIALOG, IDH = IDR_HTML_MYHTMLDIALOG };
CMyHtmlDialog(CWnd* pParent = nullptr);
// Dialog Data
#ifdef AFX_DESIGN_TIME
enum { IDD = IDD_MYHTMLDIALOG };
#endif
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
DECLARE_DHTML_EVENT_MAP()
};
// MyHtmlDialog.cpp
#include "stdafx.h"
#include "MyHtmlDialog.h"
// CMyHtmlDialog 对话框
IMPLEMENT_DYNAMIC(CMyHtmlDialog, CDHtmlDialog)
CMyHtmlDialog::CMyHtmlDialog(CWnd* pParent /*=nullptr*/)
: CDHtmlDialog(CMyHtmlDialog::IDD, CMyHtmlDialog::IDH, pParent)
{
}
void CMyHtmlDialog::DoDataExchange(CDataExchange* pDX)
{
CDHtmlDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CMyHtmlDialog, CDHtmlDialog)
END_MESSAGE_MAP()
BEGIN_DHTML_EVENT_MAP(CMyHtmlDialog)
END_DHTML_EVENT_MAP()
BOOL CMyHtmlDialog::OnInitDialog()
{
m_nHtmlResID = IDR_HTML_MYHTMLDIALOG; // 设置 HTML 资源的 ID
CDHtmlDialog::OnInitDialog();
return TRUE;
}
在这个示例中,m_nHtmlResID 被设置为 IDR_HTML_MYHTMLDIALOG,它是在资源编辑器中定义的 HTML 文件的资源 ID。在 OnInitDialog 函数中,您可以看到这一设置。
转载请注明出处:http://www.zyzy.cn/article/detail/17312/MFC/CDHtmlDialog