查看源代码 wxHtmlWindow (wx v2.4.3)

wxHtmlWindow 可能是你直接使用的唯一类,除非你想做一些特殊的事情(例如添加新的标签处理器或 MIME 过滤器)。

这个类的目的是在一个窗口中显示富内容页面(本地文件或通过 HTTP 协议下载的),基于 HTML 标准的子集。窗口的宽度是固定的,在构造函数中给出,虚拟高度根据页面大小动态变化。创建窗口后,可以通过调用 setPage/2 和原始 HTML、loadPage/2wxFileSystem (在 wx 中未实现)位置或 loadFile/2 和文件名来设置其内容。

注意:如果你想要完整的 HTML/CSS 支持以及 Javascript 引擎,请考虑使用 wxWebView 代替。

wxHtmlWindow 使用 wxImage 类来显示图像,因此你需要在加载页面之前初始化你使用的任何图像格式的处理程序。请参阅 ?wxInitAllImageHandlers 和 wxImage::AddHandler (在 wx 中未实现)。

样式

这个类支持以下样式

  • wxHW_SCROLLBAR_NEVER:从不显示滚动条,即使页面大于窗口时也是如此。

  • wxHW_SCROLLBAR_AUTO:仅当页面大小超过窗口大小时才显示滚动条。

  • wxHW_NO_SELECTION:不允许用户选择文本。

参见:wxHtmlLinkEvent

这个类派生自以下类,并且可以使用以下类中的函数:

wxWidgets 文档:wxHtmlWindow

事件

此类发出的事件类型

摘要

函数

将 HTML 片段附加到当前显示的文本并刷新窗口。

销毁对象

返回当前打开页面中的锚点(请参阅 getOpenedPage/1)。

返回打开页面的完整位置。

返回打开页面的标题,如果当前页面不包含 <TITLE> 标签,则返回 wxEmptyString。

返回相关框架。

返回到上一页。

如果可以在历史记录中返回,则返回 true,即。

如果可以在历史记录中前进,则返回 true,即。

清除历史记录。

移动到历史记录中的下一页。

从文件加载 HTML 页面并显示它。

setPage/2 不同,此函数首先从 location 加载 HTML 页面,然后显示它。

默认构造函数。

构造函数。

选择窗口中的所有文本。

以纯文本形式返回当前选定的内容。

选择 pos 指向的文本行。

选择位置 pos 处的单词。

此函数设置窗口边框和 HTML 内容之间的空间。

此函数设置字体大小和字体样式。

设置页面的源并显示它,例如

设置将在其中显示页面标题的框架。

调用 setRelatedFrame/3 之后,这将设置将显示消息的状态栏插槽。

设置将显示消息的相关状态栏。

以纯文本形式返回当前显示页面的内容。

类型

-type wxHtmlWindow() :: wx:wx_object().

函数

此函数的链接

appendToPage(This, Source)

查看源代码
-spec appendToPage(This, Source) -> boolean() when This :: wxHtmlWindow(), Source :: unicode:chardata().

将 HTML 片段附加到当前显示的文本并刷新窗口。

返回:如果发生错误,则为 false;否则为 true。

-spec destroy(This :: wxHtmlWindow()) -> ok.

销毁对象

-spec getOpenedAnchor(This) -> unicode:charlist() when This :: wxHtmlWindow().

返回当前打开页面中的锚点(请参阅 getOpenedPage/1)。

如果没有打开页面,或者如果显示的页面不是通过调用 loadPage/2 生成的,则返回空字符串。

-spec getOpenedPage(This) -> unicode:charlist() when This :: wxHtmlWindow().

返回打开页面的完整位置。

如果没有打开页面,或者如果显示的页面不是通过调用 loadPage/2 生成的,则返回空字符串。

此函数的链接

getOpenedPageTitle(This)

查看源代码
-spec getOpenedPageTitle(This) -> unicode:charlist() when This :: wxHtmlWindow().

返回打开页面的标题,如果当前页面不包含 <TITLE> 标签,则返回 wxEmptyString。

-spec getRelatedFrame(This) -> wxFrame:wxFrame() when This :: wxHtmlWindow().

返回相关框架。

-spec historyBack(This) -> boolean() when This :: wxHtmlWindow().

返回到上一页。

只有使用 loadPage/2 显示的页面才存储在历史记录列表中。

-spec historyCanBack(This) -> boolean() when This :: wxHtmlWindow().

如果可以在历史记录中返回,则返回 true,即。

historyBack/1 不会失败。

此函数的链接

historyCanForward(This)

查看源代码
-spec historyCanForward(This) -> boolean() when This :: wxHtmlWindow().

如果可以在历史记录中前进,则返回 true,即。

historyForward/1 不会失败。

-spec historyClear(This) -> ok when This :: wxHtmlWindow().

清除历史记录。

-spec historyForward(This) -> boolean() when This :: wxHtmlWindow().

移动到历史记录中的下一页。

只有使用 loadPage/2 显示的页面才存储在历史记录列表中。

此函数的链接

loadFile(This, Filename)

查看源代码
-spec loadFile(This, Filename) -> boolean() when This :: wxHtmlWindow(), Filename :: unicode:chardata().

从文件加载 HTML 页面并显示它。

返回:如果发生错误,则为 false;否则为 true

参见:loadPage/2

此函数的链接

loadPage(This, Location)

查看源代码
-spec loadPage(This, Location) -> boolean() when This :: wxHtmlWindow(), Location :: unicode:chardata().

setPage/2 不同,此函数首先从 location 加载 HTML 页面,然后显示它。

返回:如果发生错误,则为 false;否则为 true

参见:loadFile/2

-spec new() -> wxHtmlWindow().

默认构造函数。

-spec new(Parent) -> wxHtmlWindow() when Parent :: wxWindow:wxWindow().

等效于 new(Parent, [])

-spec new(Parent, [Option]) -> wxHtmlWindow()
             when
                 Parent :: wxWindow:wxWindow(),
                 Option ::
                     {id, integer()} |
                     {pos, {X :: integer(), Y :: integer()}} |
                     {size, {W :: integer(), H :: integer()}} |
                     {style, integer()}.

构造函数。

参数与 wxScrolled::wxScrolled() (在 wx 中未实现)构造函数相同。

-spec selectAll(This) -> ok when This :: wxHtmlWindow().

选择窗口中的所有文本。

参见

-spec selectionToText(This) -> unicode:charlist() when This :: wxHtmlWindow().

以纯文本形式返回当前选定的内容。

如果当前未选择任何文本,则返回空字符串。

-spec selectLine(This, Pos) -> ok when This :: wxHtmlWindow(), Pos :: {X :: integer(), Y :: integer()}.

选择 pos 指向的文本行。

请注意,pos 是相对于显示页面的顶部,而不是窗口的原点,请使用 wxScrolledWindow:calcUnscrolledPosition/3 来转换物理坐标。

参见

-spec selectWord(This, Pos) -> ok when This :: wxHtmlWindow(), Pos :: {X :: integer(), Y :: integer()}.

选择位置 pos 处的单词。

请注意,pos 是相对于显示页面的顶部,而不是窗口的原点,请使用 wxScrolledWindow:calcUnscrolledPosition/3 来转换物理坐标。

参见

-spec setBorders(This, B) -> ok when This :: wxHtmlWindow(), B :: integer().

此函数设置窗口边框和 HTML 内容之间的空间。

参见图像

此函数的链接

setFonts(This, Normal_face, Fixed_face)

查看源代码
-spec setFonts(This, Normal_face, Fixed_face) -> ok
                  when
                      This :: wxHtmlWindow(),
                      Normal_face :: unicode:chardata(),
                      Fixed_face :: unicode:chardata().

等效于 setFonts(This, Normal_face, Fixed_face, [])

-spec setFonts(This, Normal_face, Fixed_face, [Option]) -> ok
                  when
                      This :: wxHtmlWindow(),
                      Normal_face :: unicode:chardata(),
                      Fixed_face :: unicode:chardata(),
                      Option :: {sizes, [integer()]}.

此函数设置字体大小和字体样式。

有关详细说明,请参见 wxHtmlDCRenderer::SetFonts (在 wx 中未实现)。

-spec setPage(This, Source) -> boolean() when This :: wxHtmlWindow(), Source :: unicode:chardata().

设置页面的源并显示它,例如

如果你想从某个位置加载文档,请改用 loadPage/2

返回:如果发生错误,则为 false;否则为 true。

此函数的链接

setRelatedFrame(This, Frame, Format)

查看源代码
-spec setRelatedFrame(This, Frame, Format) -> ok
                         when
                             This :: wxHtmlWindow(),
                             Frame :: wxFrame:wxFrame(),
                             Format :: unicode:chardata().

设置将在其中显示页面标题的框架。

format 是框架标题的格式,例如“HtmlHelp : %s”。它必须恰好包含一个 s。此 s 将替换为 HTML 页面标题。

-spec setRelatedStatusBar(This, Statusbar) -> ok
                             when This :: wxHtmlWindow(), Statusbar :: wxStatusBar:wxStatusBar();
                         (This, Index) -> ok when This :: wxHtmlWindow(), Index :: integer().

调用 setRelatedFrame/3 之后,这将设置将显示消息的状态栏插槽。

(默认为 -1 = 没有消息。)

-spec setRelatedStatusBar(This, Statusbar, [Option]) -> ok
                             when
                                 This :: wxHtmlWindow(),
                                 Statusbar :: wxStatusBar:wxStatusBar(),
                                 Option :: {index, integer()}.

设置将显示消息的相关状态栏。

如果你只想要状态栏更新,而不更改框架标题,请调用此函数而不是 setRelatedFrame/3

自:2.9.0

-spec toText(This) -> unicode:charlist() when This :: wxHtmlWindow().

以纯文本形式返回当前显示页面的内容。