65.9K
CodeProject 正在变化。 阅读更多。
Home

Pocket PC 的基于 HTML 的对话框

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.81/5 (14投票s)

2001年8月27日

CPOL

2分钟阅读

viewsIcon

366126

downloadIcon

1142

一个库,提供了一个简单的封装器,封装了 CE 中与 HtmlView 控件相关的大部分工作。

Screenshot

引言

在 Pocket PC 应用程序中使用基于 HTML 的对话框似乎是个好主意。 您需要做的大部分工作将由 HTML 引擎完成。 Pocket PC 提供了包含 HtmlView 控件的 htmlview.dll。 但是很多开发者觉得它很难使用。STHtmlDialog 库提供了一种简单的方法来使用封装了 HtmlView 控件完成的大部分工作的包装器。

在对话框中使用 HTML,您可以显示使用不同字体、颜色和样式的文本,使用不同的 HTML 控件,显示图像,使用链接以及 HTML 提供的许多其他功能。

另请记住,HtmlView 控件提供的 HTML 不支持您可能期望的某些功能,如 JavaScript、框架等。

你需要的东西

背景

要在没有 STHtmlDialog 库的情况下创建 HtmlView 控件,您应该

  1. 将 *htmlview.lib* 库添加到您的项目。 调用 *项目设置* 对话框 (Alt+F7),然后转到 *链接* 选项卡页面并将 *htmlview.lib* 字符串添加到 **对象/库模块** 字段。
  2. 包含 *Htmlctrl.h* 文件。 将 #include <Htmlctrl.h> 行添加到您的 *StdAfx.h* 文件中。
  3. 通过调用 LoadLibrary 函数加载 HTML Viewer DLL。 在 *lpLibFileName* 参数中指定 *Htmlview.dll*。
  4. 通过调用 InitHTMLControl 函数注册 HTML Viewer 控件类。
  5. 通过调用 CreateWindow 函数为 HTML Viewer 控件创建一个窗口。 在 lpClassName 参数中指定 DISPLAYNAME
  6. 重写 *WindowProc* 函数并处理 WM_NOTIFY 消息。 在这里,您应该提供图像并处理链接(NM_HOTSPOTNM_INLINE_IMAGE 代码)。

使用 STHtmlDialog 库

要使用 STHtmlDialog 库创建 HTML 对话框,您应该

  1. 将 *STHtmlDialog.h* 和 *STHtmlDialog.cpp* 文件插入到您的项目中(使用 **项目\添加到项目\文件** 菜单项)。
  2. 将 *htmlview.lib* 库添加到您的项目。 调用 **项目设置** 对话框 (Alt+F7),然后转到 **链接** 选项卡页面并将 *htmlview.lib* 字符串添加到 *对象/库模块* 字段。
  3. 将您的对话框窗体的超类 CDialog 更改为 CSTHtmlDialog
  4. 在您的对话框的 OnInitDialog 方法中,您应该添加一个对设置 HTML 文本的 SetHtml 函数的调用。

处理 HTML 事件

链接

当用户单击 HTML 中的链接时,将调用您的对话框的 OnLink 虚函数。 要处理链接,您应该重写此函数。 *strHref* 参数包含单击的链接的 href 属性。

图像

要在 HTML 中使用图像,首先注册它们。 在初始化期间为每个您将在 HTML 中使用的图像调用 RegisterHtmlImage 函数。 注册图像时,您应该指定一个可用于 HTML img 标签的 src 属性的字符串。

结论

使用 STHtmlDialog 库很容易创建一个基于 HTML 的对话框。 CSTHtmlDialog 封装了 HtmlView 控件的功能,包括图像和链接。

© . All rights reserved.