CMFCDesktopAlertWnd 類別
CMFCDesktopAlertWnd 類別實作在螢幕上顯示告知使用者事件的非強制回應對話方塊功能。
class CMFCDesktopAlertWnd : public CWnd
Members
公用方法
名稱 |
描述 |
---|---|
建立和初始化桌面警示視窗。 |
|
傳回動畫的速度。 |
|
傳回動畫型別。 |
|
傳回自動關閉時間。 |
|
傳回標題的高度。 |
|
|
|
傳回 Desktop Alert Window 的最後一個有效的位置在螢幕上。 |
|
傳回透明度層級。 |
|
判斷桌面警示視窗是否顯示帶有小標頭。 |
|
|
|
呼叫框架,當使用者按一下 尋找桌面警示功能表的連結按鈕。 |
|
架構會呼叫此成員函式,當使用者選取項目時,從 功能表,子控制項時傳送通知訊息時,或當,快速鍵按鍵會轉譯時。 (覆寫 CWnd::OnCommand)。 |
|
|
|
|
|
設定新的動畫速度。 |
|
設定動畫型別。 |
|
設定自動關閉時間。 |
|
在小型標題和一般之間切換。 |
|
設定透明度層級。 |
備註
桌面警示視窗可以是透明的,它可以顯示與動畫效果,因此,它可以消失 (在指定的延遲之後,或當使用者按一下 [關閉] 按鈕關閉時)。
Desktop Alert Window 也可以包含依序包含圖示、文字的預設對話方塊 (標籤) 和一個連結。 或者,桌面警示視窗可以包含應用程式資源的自訂對話方塊。
您使用兩個步驟來建立桌面警示視窗。 首先,請呼叫建構函式 CMFCDesktopAlertWnd 建構物件。 接著,請呼叫 CMFCDesktopAlertWnd::Create 成員函式建立視窗並附加至 CMFCDesktopAlertWnd 物件。
CMFCDesktopAlertWnd 物件建立填入桌面警示視窗工作區的特殊子對話方塊。 對話方塊擁有在此表單的所有控制項。
若要顯示快顯視窗中顯示自訂對話方塊,請執行下列步驟:
從 CMFCDesktopAlertDialog 衍生類別。
建立子對話方塊樣板資源中。
呼叫 CMFCDesktopAlertWnd::Create 使用對話方塊範本和指標的資源 ID 為衍生類別的執行階段類別資訊。
程式設計自訂對話方塊處理來自裝載控制項的所有通知或程式設計裝載的控制項直接處理這些告知。
使用下列函式控制桌面警示視窗的行為:
藉由呼叫 CMFCDesktopAlertWnd::SetAnimationType設定動畫型別。 有效選項包括、、、,滑動,並淡出。
藉由呼叫 CMFCDesktopAlertWnd::SetAnimationSpeed設定動畫的速度。
藉由呼叫 CMFCDesktopAlertWnd::SetTransparency設定透明度層級。
變更標題的大小為小型藉由呼叫 CMFCDesktopAlertWnd::SetSmallCaption。 子標題是高度為 7 像素。
範例
下列範例會在 CMFCDesktopAlertWnd 類別說明了如何使用不同的方法設定 CMFCDesktopAlertWnd 物件。 這個範例顯示如何將動畫型別,設定快顯視窗的透明度,指定警示視窗顯示小型標題,然後設定警示視窗之前所經過的自動結束的時間。 範例也會示範如何建立和初始化桌面警示視窗。 這個程式碼片段是 桌面警示示範範例的一部分。
CMFCDesktopAlertWnd* pPopup = new CMFCDesktopAlertWnd;
// int m_nAnimation
pPopup->SetAnimationType ((CMFCPopupMenu::ANIMATION_TYPE) m_nAnimation);
// int m_nAnimationSpeed
pPopup->SetAnimationSpeed (m_nAnimationSpeed);
// int m_nTransparency
pPopup->SetTransparency ((BYTE)m_nTransparency);
// BOOL m_bSmallCaption
pPopup->SetSmallCaption (m_bSmallCaption);
// BOOL m_bAutoClose, int m_nAutoCloseTime
pPopup->SetAutoCloseTime (m_bAutoClose ? m_nAutoCloseTime * 1000 : 0);
// int m_nPopupSource
if (m_nPopupSource == 0)
{
// int m_nVisualMngr
// CPoint m_ptPopup
// The this pointer points to a CDesktopAlertDemoDlg class which extends the CDialogEx class.
if (m_nVisualMngr == 5) // MSN-style
{
pPopup->Create (this, IDD_DIALOG2, NULL,
m_ptPopup, RUNTIME_CLASS (CMSNDlg));
}
else
{
pPopup->Create (this, IDD_DIALOG1,
m_menuPopup.GetSubMenu (0)->GetSafeHmenu (),
m_ptPopup, RUNTIME_CLASS (CMyPopupDlg));
}
}
繼承階層架構
需求
標題: afxDesktopAlertWnd.h