檢視原始碼 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