查看源代码 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/2
、setTitle/2
和 setMessage/2
在显示对象之前初始化它。
等同于 new(Title, [])
。
使用给定的属性创建通知对象。
此参数当前可用于指定在通知中显示的图标。
指定要在通知中显示的自定义图标。
设置通知的主要文本。
为此通知设置父级:通知将与此窗口的顶层父级关联,或者,如果未调用此方法,则默认与主应用程序窗口关联。
设置标题,它必须是一个简洁的字符串(不超过 64 个字符),使用 setMessage/2
向用户提供更多详细信息。
等同于 show(This, [])
。
向用户显示通知,并在经过 timeout
秒后将其隐藏。
如果应用程序已经使用 wxTaskBarIcon
,则应通过使用此方法将其连接到通知。
类型
-type wxNotificationMessage() :: wx:wx_object().
函数
-spec addAction(This, Actionid) -> boolean() when This :: wxNotificationMessage(), Actionid :: integer().
-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/2
、setTitle/2
和 setMessage/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/2
、setMessage/2
、setParent/2
和 setFlags/2
。
-spec setFlags(This, Flags) -> ok when This :: wxNotificationMessage(), Flags :: integer().
此参数当前可用于指定在通知中显示的图标。
有效值为 wxICON_INFORMATION
、wxICON_WARNING
和 wxICON_ERROR
(请注意,此处不允许使用 wxICON_QUESTION
)。此类的某些实现可能不支持图标。
参见:setIcon/2
-spec setIcon(This, Icon) -> ok when This :: wxNotificationMessage(), Icon :: wxIcon:wxIcon().
指定要在通知中显示的自定义图标。
此类的一些实现可能不支持自定义图标。
参见:setFlags/2
自:3.1.0
-spec setMessage(This, Message) -> ok when This :: wxNotificationMessage(), Message :: unicode:chardata().
设置通知的主要文本。
这应该比标题更详细的描述,但仍然限于合理的长度(不超过 256 个字符)。
-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_Auto
和 Timeout_Never
,请注意,您不应依赖 timeout
被精确遵守,因为当前平台可能只支持默认超时值,并且用户也可能能够关闭通知。
注意:在 wxGTK 中使用原生通知时,带有 wxICON_WARNING
或 wxICON_ERROR
标志的通知会忽略超时时间,除非用户显式隐藏,否则它们始终保持显示,即表现得如同给定了 Timeout_Auto。
返回:如果发生错误,则返回 false。
-spec useTaskBarIcon(Icon) -> wxTaskBarIcon:wxTaskBarIcon() when Icon :: wxTaskBarIcon:wxTaskBarIcon().
如果应用程序已经使用 wxTaskBarIcon
,则应通过使用此方法将其连接到通知。
如果使用 Toast 通知,则此方法无效。
返回:先前使用的任务栏图标(可能为 NULL
)
仅适用于:wxmsw