Klasa CMFCDesktopAlertWnd
Klasa CMFCDesktopAlertWnd
implementuje funkcjonalność okna dialogowego bez moderowania, które pojawia się na ekranie, aby poinformować użytkownika o zdarzeniu.
Aby uzyskać więcej informacji, zobacz kod źródłowy znajdujący się w folderze VC\atlmfc\src\mfc instalacji programu Visual Studio.
Składnia
class CMFCDesktopAlertWnd : public CWnd
Elementy członkowskie
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CMFCDesktopAlertWnd::Create | Tworzy i inicjuje okno alertu pulpitu. |
CMFCDesktopAlertWnd::GetAnimationSpeed | Zwraca szybkość animacji. |
CMFCDesktopAlertWnd::GetAnimationType | Zwraca typ animacji. |
CMFCDesktopAlertWnd::GetAutoCloseTime | Zwraca limit czasu automatycznego zamknięcia. |
CMFCDesktopAlertWnd::GetCaptionHeight | Zwraca wysokość podpisu. |
CMFCDesktopAlertWnd::GetDialogSize | |
CMFCDesktopAlertWnd::GetLastPos | Zwraca ostatnią prawidłową pozycję okna alertu pulpitu na ekranie. |
CMFCDesktopAlertWnd::GetTransparency | Zwraca poziom przezroczystości. |
CMFCDesktopAlertWnd::HasSmallCaption | Określa, czy okno alertu pulpitu jest wyświetlane z małym podpisem. |
CMFCDesktopAlertWnd::OnBeforeShow | |
CMFCDesktopAlertWnd::OnClickLinkButton | Wywoływana przez platformę, gdy użytkownik kliknie przycisk linku znajdujący się w menu alertów pulpitu. |
CMFCDesktopAlertWnd::OnCommand | Platforma wywołuje tę funkcję składową, gdy użytkownik wybierze element z menu, gdy kontrolka podrzędna wysyła komunikat powiadomienia lub gdy naciśnięcie akceleratora jest tłumaczone. (Przesłonięcia) CWnd::OnCommand).) |
CMFCDesktopAlertWnd::OnDraw | |
CMFCDesktopAlertWnd::P rocessCommand | |
CMFCDesktopAlertWnd::SetAnimationSpeed | Ustawia nową szybkość animacji. |
CMFCDesktopAlertWnd::SetAnimationType | Ustawia typ animacji. |
CMFCDesktopAlertWnd::SetAutoCloseTime | Ustawia limit czasu automatycznego zamykania. |
CMFCDesktopAlertWnd::SetSmallCaption | Przełącza się między małymi i normalnymi podpisami. |
CMFCDesktopAlertWnd::SetTransparency | Ustawia poziom przezroczystości. |
Uwagi
Okno alertu pulpitu może być przezroczyste, może pojawić się z efektami animacji i może zniknąć (po określonym opóźnieniu lub po odrzuceniu go przez kliknięcie przycisku zamknięcia).
Okno alertu pulpitu może również zawierać domyślne okno dialogowe, które z kolei zawiera ikonę, tekst wiadomości (etykietę) i link. Alternatywnie okno alertu pulpitu może zawierać niestandardowe okno dialogowe z zasobów aplikacji.
W dwóch krokach utworzysz okno alertu pulpitu. Najpierw wywołaj konstruktor, aby skonstruować CMFCDesktopAlertWnd
obiekt. Następnie wywołaj funkcję CMFCDesktopAlertWnd::Create member, aby utworzyć okno i dołączyć ją do CMFCDesktopAlertWnd
obiektu.
Obiekt CMFCDesktopAlertWnd
tworzy specjalne okno dialogowe podrzędne, które wypełnia obszar klienta okna alertu pulpitu. Okno dialogowe jest właścicielem wszystkich kontrolek umieszczonych na nim.
Aby wyświetlić niestandardowe okno dialogowe w oknie podręcznym, wykonaj następujące kroki:
Tworzenie klasy z
CMFCDesktopAlertDialog
klasy .Utwórz szablon okna dialogowego podrzędnego w zasobach.
Wywołaj metodę CMFCDesktopAlertWnd::Create przy użyciu identyfikatora zasobu szablonu okna dialogowego i wskaźnika do informacji o klasie środowiska uruchomieniowego klasy pochodnej.
Zaprogramuj niestandardowe okno dialogowe do obsługi wszystkich powiadomień pochodzących z hostowanych kontrolek lub program hostowanych kontrolek w celu bezpośredniego obsługi tych powiadomień.
Użyj następujących funkcji, aby kontrolować zachowanie okna alertu pulpitu:
Ustaw typ animacji, wywołując polecenie CMFCDesktopAlertWnd::SetAnimationType. Prawidłowe opcje obejmują rozwijanie, przesuwanie i zanikanie.
Ustaw szybkość klatek animacji przez wywołanie polecenia CMFCDesktopAlertWnd::SetAnimationSpeed.
Ustaw poziom przezroczystości, wywołując polecenie CMFCDesktopAlertWnd::SetTransparency.
Zmień rozmiar podpisu na mały, wywołując polecenie CMFCDesktopAlertWnd::SetSmallCaption. Mały podpis ma wysokość 7 pikseli.
Przykład
W poniższym przykładzie pokazano, jak używać różnych metod w CMFCDesktopAlertWnd
klasie do konfigurowania CMFCDesktopAlertWnd
obiektu. W przykładzie pokazano, jak ustawić typ animacji, ustawić przezroczystość okna podręcznego, określić, że okno alertu wyświetla mały podpis i ustawić czas, który upłynął przed automatycznym zamknięciem okna alertu. W przykładzie pokazano również, jak utworzyć i zainicjować okno alertu pulpitu. Ten fragment kodu jest częścią przykładowego pokazu alertów pulpitu.
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));
}
}
Hierarchia dziedziczenia
Wymagania
Nagłówek: afxDesktopAlertWnd.h
CMFCDesktopAlertWnd::Create
Tworzy i inicjuje okno alertu pulpitu.
virtual BOOL Create(
CWnd* pWndOwner,
UINT uiDlgResID,
HMENU hMenu = NULL,
CPoint ptPos = CPoint(-1,-1),
CRuntimeClass* pRTIDlgBar = RUNTIME_CLASS(CMFCDesktopAlertDialog));
virtual BOOL Create(
CWnd* pWndOwner,
CMFCDesktopAlertWndInfo& params,
HMENU hMenu = NULL,
CPoint ptPos = CPoint(-1,-1));
Parametry
pWndOwner
[in, out] Określa właściciela okna alertu. Ten właściciel otrzyma następnie wszystkie powiadomienia dotyczące okna alertu pulpitu. Ta wartość nie może mieć wartości NULL.
uiDlgResID
[in] Określa identyfikator zasobu okna alertu.
hMenu
[in] Określa menu wyświetlane po kliknięciu przycisku menu przez użytkownika. Jeśli wartość NULL, przycisk menu nie jest wyświetlany.
ptPos
[in] Określa początkową pozycję, w której jest wyświetlane okno alertu przy użyciu współrzędnych ekranu. Jeśli ten parametr to (-1, -1), w prawym dolnym rogu ekranu zostanie wyświetlone okno alertu.
pRTIDlgBar
[in] Informacje o klasie środowiska uruchomieniowego dla niestandardowej klasy okna dialogowego, która obejmuje obszar klienta okna alertu.
params
[in] Określa parametry używane do tworzenia okna alertu.
Wartość zwracana
WARTOŚĆ TRUE, jeśli okno alertu zostało pomyślnie utworzone; w przeciwnym razie, FAŁSZ.
Uwagi
Wywołaj tę metodę, aby utworzyć okno alertu. Obszar klienta okna alertu zawiera okno dialogowe podrzędne, które hostuje wszystkie kontrolki wyświetlane użytkownikowi.
Pierwsze przeciążenie metody tworzy okno alertu zawierające podrzędne okno dialogowe, które jest ładowane z zasobów aplikacji. Pierwsze przeciążenie metody może również określać informacje o klasie środowiska uruchomieniowego dla niestandardowej klasy okna dialogowego.
Drugie przeciążenie metody tworzy okno alertu zawierające domyślne kontrolki. Można określić, które kontrolki mają być wyświetlane, modyfikując klasę CMFCDesktopAlertWndInfo.
CMFCDesktopAlertWnd::GetAnimationSpeed
Zwraca szybkość animacji.
UINT GetAnimationSpeed() const;
Wartość zwracana
Szybkość animacji okna alertu w milisekundach.
Uwagi
Szybkość animacji opisuje, jak szybko zostanie otwarte i zamknięte okno alertu.
CMFCDesktopAlertWnd::GetAnimationType
Zwraca typ animacji.
CMFCPopupMenu::ANIMATION_TYPE GetAnimationType();
Wartość zwracana
Jeden z następujących typów animacji:
NO_ANIMATION
ROZKŁADAĆ
SLAJD
ZANIKANIE
SYSTEM_DEFAULT_ANIMATION
CMFCDesktopAlertWnd::GetAutoCloseTime
Zwraca limit czasu automatycznego zamknięcia.
int GetAutoCloseTime() const;
Wartość zwracana
Czas ( w milisekundach), po którym okno alertu zostanie automatycznie zamknięte.
Uwagi
Użyj tej metody, aby określić, ile czasu powinno upłynąć przed automatycznym zamknięciem okna alertu.
CMFCDesktopAlertWnd::GetCaptionHeight
Zwraca wysokość podpisu.
virtual int GetCaptionHeight();
Wartość zwracana
Wysokość w pikselach podpisu.
Uwagi
Tę metodę można zastąpić w klasie pochodnej. Domyślna implementacja: zwraca małą wartość wysokości podpisu (7 pikseli), jeśli okno podręczne powinno wyświetlić mały podpis lub wartość uzyskaną z funkcji GetSystemMetrics(SM_CYSMCAPTION)
interfejsu API systemu Windows.
CMFCDesktopAlertWnd::GetLastPos
Zwraca ostatnią pozycję okna alertu pulpitu na ekranie.
CPoint GetLastPos() const;
Wartość zwracana
Punkt na współrzędnych ekranu.
Uwagi
Ta metoda zwraca ostatnią prawidłową pozycję okna alertu na ekranie.
CMFCDesktopAlertWnd::GetTransparency
Zwraca poziom przezroczystości.
BYTE GetTransparency() const;
Wartość zwracana
Poziom przejrzystości z zakresu od 0 do 255 włącznie. Im większa wartość, tym bardziej nieprzezroczyste okno.
Uwagi
Użyj tej metody, aby pobrać bieżący poziom przezroczystości okna alertu.
CMFCDesktopAlertWnd::HasSmallCaption
Określa, czy okno alertu pulpitu ma mały podpis, czy zwykły podpis.
BOOL HasSmallCaption() const;
Wartość zwracana
WARTOŚĆ TRUE, jeśli okno podręczne jest wyświetlane z małym podpisem; FAŁSZ, jeśli okno podręczne jest wyświetlane z podpisem o regularnym rozmiarze.
Uwagi
Użyj tej metody, aby określić, czy okno podręczne ma mały podpis, czy podpis o regularnym rozmiarze. Domyślnie mały podpis ma wysokość 7 pikseli. Wysokość podpisu zwykłego rozmiaru można uzyskać, wywołując funkcję GetSystemMetrics(SM_CYCAPTION)
interfejsu API systemu Windows.
CMFCDesktopAlertWnd::OnBeforeShow
virtual BOOL OnBeforeShow(CPoint&);
Parametry
[in] CPoint &
Wartość zwracana
Uwagi
CMFCDesktopAlertWnd::OnClickLinkButton
Wywoływana przez platformę, gdy użytkownik kliknie przycisk linku znajdujący się w menu alertów pulpitu.
virtual BOOL OnClickLinkButton(UINT uiCmdID);
Parametry
uiCmdID
[in] Ten parametr nie jest używany.
Wartość zwracana
Zawsze FAŁSZ.
Uwagi
Zastąp tę metodę w klasie pochodnej, jeśli chcesz otrzymywać powiadomienia, gdy użytkownik kliknie link w oknie alertu.
CMFCDesktopAlertWnd::OnCommand
virtual BOOL OnCommand(
WPARAM wParam,
LPARAM lParam);
Parametry
[in] wParam
[in] lParam
Wartość zwracana
Uwagi
CMFCDesktopAlertWnd::OnDraw
virtual void OnDraw(CDC* pDC);
Parametry
[in] PDC
Uwagi
CMFCDesktopAlertWnd::P rocessCommand
BOOL ProcessCommand(HWND hwnd);
Parametry
[in] hwnd
Wartość zwracana
Uwagi
CMFCDesktopAlertWnd::SetAnimationSpeed
Ustawia nową szybkość animacji.
void SetAnimationSpeed(UINT nSpeed);
Parametry
nSpeed
[in] Określa nową szybkość animacji w milisekundach.
Uwagi
Wywołaj tę metodę, aby ustawić szybkość animacji dla okna alertu. Domyślna szybkość animacji to 30 milisekund.
CMFCDesktopAlertWnd::SetAnimationType
Ustawia typ animacji.
void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);
Parametry
type
[in] Określa typ animacji.
Uwagi
Wywołaj tę metodę, aby ustawić typ animacji. Można określić jedną z następujących wartości:
NO_ANIMATION
ROZKŁADAĆ
SLAJD
ZANIKANIE
SYSTEM_DEFAULT_ANIMATION
CMFCDesktopAlertWnd::SetAutoCloseTime
Ustawia limit czasu automatycznego zamykania.
void SetAutoCloseTime(int nTime);
Parametry
nTime
[in] Czas, w milisekundach, który upłynie przed automatycznym zamknięciem okna alertu.
Uwagi
Okno alertu zostanie automatycznie zamknięte po upływie określonego czasu, jeśli użytkownik nie wchodzi w interakcję z oknem.
CMFCDesktopAlertWnd::SetSmallCaption
Przełącza się między małymi i regularnymi podpisami.
void SetSmallCaption(BOOL bSmallCaption = TRUE);
Parametry
bSmallCaption
[in] WARTOŚĆ TRUE, aby określić, że w oknie alertu jest wyświetlany mały podpis; W przeciwnym razie wartość FALSE określa, że w oknie alertu jest wyświetlany podpis o regularnym rozmiarze.
Uwagi
Wywołaj tę metodę, aby wyświetlić podpis o małym lub regularnym rozmiarze. Domyślnie mały podpis ma wysokość 7 pikseli. Rozmiar zwykłego podpisu można uzyskać, wywołując funkcję GetSystemMetrics(SM_CYCAPTION)
interfejsu API systemu Windows.
CMFCDesktopAlertWnd::SetTransparency
Ustawia poziom przezroczystości okna podręcznego.
void SetTransparency(BYTE nTransparency);
Parametry
nPrzezroczysć
[in] Określa poziom przezroczystości. Ta wartość musi należeć do przedziału od 0 do 255 włącznie. Im większa wartość, tym bardziej nieprzezroczyste okno.
Uwagi
Wywołaj tę funkcję, aby ustawić poziom przezroczystości okna podręcznego.
CMFCDesktopAlertWnd::GetDialogSize
virtual CSize GetDialogSize();
Wartość zwracana
Uwagi
Zobacz też
Wykres hierarchii
Klasy
Klasa CMFCDesktopAlertWndInfo
Klasa CMFCDesktopAlertDialog
Klasa CWnd