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

这个类允许以非侵入式的方式向用户显示消息。

目前,它在 Windows、macOS、GTK 上以原生方式实现,并在其他平台下使用通用 Toast 通知。不推荐使用,但可以使用 wxGenericNotificationMessage 来代替原生通知。如果您的应用程序需要原生实现中没有的功能,这可能会有意义。

请注意,这个类不是窗口,因此不继承自 wxWindow

平台注意事项

段落

在 Windows 8 之前,气泡通知从任务栏的通知区域中的图标显示。如果您的应用程序使用 wxTaskBarIcon,则应调用 useTaskBarIcon/1 以确保通知区域中仅显示一个图标。Windows 10 将所有通知显示为弹出 Toast。为了在 Windows 10 上禁止通知区域中的额外图标,并在 Windows 8 上支持 Toast 通知,建议在显示第一个通知消息之前调用 mSWUseToasts/1

段落

macOS 实现使用通知中心来显示原生通知。为了使用操作,您的通知必须使用警报样式。这可以通过用户在系统设置中启用,也可以在 Info.plist 中将 NSUserNotificationAlertStyle 值设置为 alert 来启用。请注意,用户始终可以选择更改通知样式。

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

wxWidgets 文档:wxNotificationMessage

事件

从此类发出的事件类型

摘要

函数

向通知添加一个操作。

隐藏通知。

销毁对象

启用自 Windows 8 起可用的 Toast 通知,并禁止 Windows 10 上通知区域中的额外图标。

默认构造函数,使用 setParent/2setTitle/2setMessage/2 在显示对象之前初始化它。

等同于 new(Title, [])

使用给定的属性创建通知对象。

此参数当前可用于指定在通知中显示的图标。

指定要在通知中显示的自定义图标。

设置通知的主要文本。

为此通知设置父级:通知将与此窗口的顶层父级关联,或者,如果未调用此方法,则默认与主应用程序窗口关联。

设置标题,它必须是一个简洁的字符串(不超过 64 个字符),使用 setMessage/2 向用户提供更多详细信息。

等同于 show(This, [])

向用户显示通知,并在经过 timeout 秒后将其隐藏。

如果应用程序已经使用 wxTaskBarIcon,则应通过使用此方法将其连接到通知。

类型

此类型的链接

wxNotificationMessage()

查看源代码
-type wxNotificationMessage() :: wx:wx_object().

函数

此函数的链接

addAction(This, Actionid)

查看源代码
-spec addAction(This, Actionid) -> boolean() when This :: wxNotificationMessage(), Actionid :: integer().

等同于 addAction(This, Actionid, [])

-spec addAction(This, Actionid, [Option]) -> boolean()
                   when
                       This :: wxNotificationMessage(),
                       Actionid :: integer(),
                       Option :: {label, unicode:chardata()}.

向通知添加一个操作。

如果实现支持,这些通常是通知中用户可选择的按钮。

返回:如果当前实现或操作系统版本不支持通知中的操作,则返回 false。

自:3.1.0

-spec close(This) -> boolean() when This :: wxNotificationMessage().

隐藏通知。

如果已隐藏则返回 true,如果无法隐藏则返回 false(例如,在某些系统上,自动隐藏的通知无法手动隐藏)。

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

销毁对象

-spec mSWUseToasts() -> boolean().

等同于 mSWUseToasts([])

-spec mSWUseToasts([Option]) -> boolean()
                      when Option :: {shortcutPath, unicode:chardata()} | {appId, unicode:chardata()}.

启用自 Windows 8 起可用的 Toast 通知,并禁止 Windows 10 上通知区域中的额外图标。

Toast 通知 require 在开始菜单中应用程序的快捷方式。开始菜单快捷方式需要包含应用程序用户模型 ID。建议应用程序的安装程序创建快捷方式,并且应用程序在 shortcutPath 中指定安装程序创建的快捷方式。调用此方法将在启用 Toast 通知之前验证(并在必要时修改)快捷方式。

返回:如果无法启用 Toast 通知,则返回 false。

仅适用于:wxmsw

自:3.1.0

-spec new() -> wxNotificationMessage().

默认构造函数,使用 setParent/2setTitle/2setMessage/2 在显示对象之前初始化它。

-spec new(Title) -> wxNotificationMessage() when Title :: unicode:chardata().

等同于 new(Title, [])

-spec new(Title, [Option]) -> wxNotificationMessage()
             when
                 Title :: unicode:chardata(),
                 Option ::
                     {message, unicode:chardata()} | {parent, wxWindow:wxWindow()} | {flags, integer()}.

使用给定的属性创建通知对象。

有关相应参数的说明,请参见 setTitle/2setMessage/2setParent/2setFlags/2

-spec setFlags(This, Flags) -> ok when This :: wxNotificationMessage(), Flags :: integer().

此参数当前可用于指定在通知中显示的图标。

有效值为 wxICON_INFORMATIONwxICON_WARNINGwxICON_ERROR(请注意,此处不允许使用 wxICON_QUESTION)。此类的某些实现可能不支持图标。

参见:setIcon/2

-spec setIcon(This, Icon) -> ok when This :: wxNotificationMessage(), Icon :: wxIcon:wxIcon().

指定要在通知中显示的自定义图标。

此类的一些实现可能不支持自定义图标。

参见:setFlags/2

自:3.1.0

此函数的链接

setMessage(This, Message)

查看源代码
-spec setMessage(This, Message) -> ok
                    when This :: wxNotificationMessage(), Message :: unicode:chardata().

设置通知的主要文本。

这应该比标题更详细的描述,但仍然限于合理的长度(不超过 256 个字符)。

此函数的链接

setParent(This, Parent)

查看源代码
-spec setParent(This, Parent) -> ok when This :: wxNotificationMessage(), Parent :: wxWindow:wxWindow().

为此通知设置父级:通知将与此窗口的顶层父级关联,或者,如果未调用此方法,则默认与主应用程序窗口关联。

-spec setTitle(This, Title) -> ok when This :: wxNotificationMessage(), Title :: unicode:chardata().

设置标题,它必须是一个简洁的字符串(不超过 64 个字符),使用 setMessage/2 向用户提供更多详细信息。

-spec show(This) -> boolean() when This :: wxNotificationMessage().

等同于 show(This, [])

-spec show(This, [Option]) -> boolean()
              when This :: wxNotificationMessage(), Option :: {timeout, integer()}.

向用户显示通知,并在经过 timeout 秒后将其隐藏。

此处可以使用特殊值 Timeout_AutoTimeout_Never,请注意,您不应依赖 timeout 被精确遵守,因为当前平台可能只支持默认超时值,并且用户也可能能够关闭通知。

注意:在 wxGTK 中使用原生通知时,带有 wxICON_WARNINGwxICON_ERROR 标志的通知会忽略超时时间,除非用户显式隐藏,否则它们始终保持显示,即表现得如同给定了 Timeout_Auto。

返回:如果发生错误,则返回 false。

-spec useTaskBarIcon(Icon) -> wxTaskBarIcon:wxTaskBarIcon() when Icon :: wxTaskBarIcon:wxTaskBarIcon().

如果应用程序已经使用 wxTaskBarIcon,则应通过使用此方法将其连接到通知。

如果使用 Toast 通知,则此方法无效。

返回:先前使用的任务栏图标(可能为 NULL

仅适用于:wxmsw