Sdílet prostřednictvím


CMFCDesktopAlertWnd – třída

Třída CMFCDesktopAlertWnd implementuje funkce bezmodální dialogové okno, které se zobrazí na obrazovce, aby informoval uživatele o události.

Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.

Syntaxe

class CMFCDesktopAlertWnd : public CWnd

Členové

Veřejné metody

Název Popis
CMFCDesktopAlertWnd::Create Vytvoří a inicializuje okno upozornění na ploše.
CMFCDesktopAlertWnd::GetAnimationSpeed Vrátí rychlost animace.
CMFCDesktopAlertWnd::GetAnimationType Vrátí typ animace.
CMFCDesktopAlertWnd::GetAutoCloseTime Vrátí časový limit automatického uzavření.
CMFCDesktopAlertWnd::GetCaptionHeight Vrátí výšku popis.
CMFCDesktopAlertWnd::GetDialogSize
CMFCDesktopAlertWnd::GetLastPos Vrátí poslední platnou pozici okna upozornění na ploše na obrazovce.
CMFCDesktopAlertWnd::GetTransparency Vrátí úroveň průhlednosti.
CMFCDesktopAlertWnd::HasSmallCaption Určuje, zda je okno upozornění na ploše zobrazeno s malými popis.
CMFCDesktopAlertWnd::OnBeforeShow
CMFCDesktopAlertWnd::OnClickLinkButton Volá se rozhraním, když uživatel klikne na tlačítko odkazu umístěné v nabídce upozornění na ploše.
CMFCDesktopAlertWnd::OnCommand Architektura volá tuto členovou funkci, když uživatel vybere položku z nabídky, když podřízený ovládací prvek odešle zprávu s oznámením nebo při přeložení klávesové zkratky. (Přepsání CWnd::OnCommand.)
CMFCDesktopAlertWnd::OnDraw
CMFCDesktopAlertWnd::P rocessCommand
CMFCDesktopAlertWnd::SetAnimationSpeed Nastaví novou rychlost animace.
CMFCDesktopAlertWnd::SetAnimationType Nastaví typ animace.
CMFCDesktopAlertWnd::SetAutoCloseTime Nastaví časový limit automatického uzavření.
CMFCDesktopAlertWnd::SetSmallCaption Přepíná mezi malými a normálními popis.
CMFCDesktopAlertWnd::SetTransparency Nastaví úroveň průhlednosti.

Poznámky

Okno upozornění na ploše může být průhledné, může se zobrazit s animačními efekty a může zmizet (po zadaném zpoždění nebo když ho uživatel zavře kliknutím na tlačítko Zavřít).

Okno upozornění na ploše může obsahovat také výchozí dialogové okno, které zase obsahuje ikonu, text zprávy (popisek) a odkaz. Případně okno upozornění na ploše může obsahovat vlastní dialogové okno z prostředků aplikace.

Okno upozornění na ploše vytvoříte ve dvou krocích. Nejprve zavolejte konstruktor pro sestavení objektu CMFCDesktopAlertWnd . Za druhé, volání CMFCDesktopAlertWnd::Create člen funkce vytvořit okno a připojit ho k objektu CMFCDesktopAlertWnd .

Objekt CMFCDesktopAlertWnd vytvoří speciální podřízené dialogové okno, které vyplní klientskou oblast okna upozornění na ploše. Dialogové okno vlastní všechny ovládací prvky, které jsou na něm umístěné.

Pokud chcete zobrazit vlastní dialogové okno v místním okně, postupujte takto:

  1. Odvození třídy z CMFCDesktopAlertDialog.

  2. V prostředcích vytvořte podřízenou šablonu dialogového okna.

  3. Volání CMFCDesktopAlertWnd::Create pomocí ID prostředku šablony dialogového okna a ukazatele na informace třídy modulu runtime odvozené třídy.

  4. Naprogramujte vlastní dialogové okno pro zpracování všech oznámení pocházejících z hostovaných ovládacích prvků nebo naprogramujte hostované ovládací prvky pro zpracování těchto oznámení přímo.

Pomocí následujících funkcí můžete řídit chování okna upozornění na ploše:

Příklad

Následující příklad ukazuje, jak použít různé metody ve CMFCDesktopAlertWnd třídě ke konfiguraci objektu CMFCDesktopAlertWnd . Příklad ukazuje, jak nastavit typ animace, nastavit průhlednost automaticky otevíraného okna, určit, že okno upozornění zobrazí malý popis a nastavit čas, který uplynou před tím, než se okno upozornění automaticky zavře. Příklad také ukazuje, jak vytvořit a inicializovat okno upozornění na ploše. Tento fragment kódu je součástí ukázky ukázky upozornění na ploše.

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));
   }
}

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

Cwnd

CMFCDesktopAlertWnd

Požadavky

Hlavička: afxDesktopAlertWnd.h

CMFCDesktopAlertWnd::Create

Vytvoří a inicializuje okno upozornění na ploše.

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] Určuje vlastníka okna upozornění. Tento vlastník pak obdrží všechna oznámení pro okno upozornění na ploše. Tato hodnota nemůže být NULL.

uiDlgResID
[v] Určuje ID prostředku okna upozornění.

hMenu
[v] Určuje nabídku, která se zobrazí, když uživatel klikne na tlačítko nabídky. Pokud je hodnota NULL, tlačítko nabídky se nezobrazí.

ptPos
[v] Určuje počáteční pozici, kde se zobrazí okno výstrahy pomocí souřadnic obrazovky. Pokud je tento parametr (-1, -1), zobrazí se okno upozornění v pravém dolním rohu obrazovky.

pRTIDlgBar
[v] Informace o třídě modulu runtime pro vlastní třídu dialogového okna, která pokrývá oblast klienta okna výstrahy.

params
[v] Určuje parametry, které se používají k vytvoření okna upozornění.

Vrácená hodnota

TRUE, pokud se okno upozornění úspěšně vytvořilo; jinak NEPRAVDA.

Poznámky

Voláním této metody vytvořte okno upozornění. Klientská oblast okna výstrahy obsahuje podřízené dialogové okno, které je hostitelem všech ovládacích prvků zobrazených uživateli.

První přetížení metody vytvoří okno výstrahy, které obsahuje podřízené dialogové okno načtené z prostředků aplikace. První přetížení metody může také zadat informace o třídě modulu runtime pro vlastní třídu dialogového okna.

Druhé přetížení metody vytvoří okno upozornění, které obsahuje výchozí ovládací prvky. Můžete určit, které ovládací prvky se mají zobrazit úpravou CMFCDesktopAlertWndInfo Třída.

CMFCDesktopAlertWnd::GetAnimationSpeed

Vrátí rychlost animace.

UINT GetAnimationSpeed() const;

Vrácená hodnota

Rychlost animace okna upozornění v milisekundách

Poznámky

Rychlost animace popisuje, jak rychle se otevře a zavře okno upozornění.

CMFCDesktopAlertWnd::GetAnimationType

Vrátí typ animace.

CMFCPopupMenu::ANIMATION_TYPE GetAnimationType();

Vrácená hodnota

Jeden z následujících typů animací:

  • NO_ANIMATION

  • ROZVINOUT

  • SNÍMEK

  • FADE

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::GetAutoCloseTime

Vrátí časový limit automatického uzavření.

int GetAutoCloseTime() const;

Vrácená hodnota

Čas v milisekundách, po kterém se okno výstrahy automaticky zavře.

Poznámky

Tuto metodu použijte k určení, kolik času by mělo uplynout, než se okno upozornění automaticky zavře.

CMFCDesktopAlertWnd::GetCaptionHeight

Vrátí výšku popis.

virtual int GetCaptionHeight();

Vrácená hodnota

Výška popis v pixelech.

Poznámky

Tuto metodu lze přepsat v odvozené třídě. Výchozí implementace buď: vrátí malou hodnotu výšky popis (7 pixelů), pokud by se automaticky otevírané okno mělo zobrazit malé popis, nebo hodnotu získanou z funkce GetSystemMetrics(SM_CYSMCAPTION)rozhraní API systému Windows .

CMFCDesktopAlertWnd::GetLastPos

Vrátí poslední pozici okna upozornění na ploše na obrazovce.

CPoint GetLastPos() const;

Vrácená hodnota

Bod v souřadnicích obrazovky.

Poznámky

Tato metoda vrátí poslední platnou pozici okna upozornění na obrazovce.

CMFCDesktopAlertWnd::GetTransparency

Vrátí úroveň průhlednosti.

BYTE GetTransparency() const;

Vrácená hodnota

Úroveň transparentnosti mezi 0 a 255, včetně. Čím větší je hodnota, tím více neprůsadnější okno.

Poznámky

Tuto metodu použijte k načtení aktuální úrovně průhlednosti okna upozornění.

CMFCDesktopAlertWnd::HasSmallCaption

Určuje, jestli má okno upozornění na ploše malý popis nebo popis s normální velikostí.

BOOL HasSmallCaption() const;

Vrácená hodnota

TRUE, pokud se automaticky otevírané okno zobrazí s malým popis; FALSE, pokud se automaticky otevírané okno zobrazí s normální velikostí popis.

Poznámky

Tuto metodu použijte k určení, jestli má automaticky otevírané okno malé popis nebo popis běžné velikosti. Ve výchozím nastavení je malý popis 7 pixelů vysoký. Výšku popis běžné velikosti můžete získat voláním funkce GetSystemMetrics(SM_CYCAPTION)rozhraní API systému Windows .

CMFCDesktopAlertWnd::OnBeforeShow

virtual BOOL OnBeforeShow(CPoint&);

Parametry

[v] CPoint &.

Vrácená hodnota

Poznámky

CMFCDesktopAlertWnd::OnClickLinkButton

Volá se rozhraním, když uživatel klikne na tlačítko odkazu umístěné v nabídce upozornění na ploše.

virtual BOOL OnClickLinkButton(UINT uiCmdID);

Parametry

uiCmdID
[v] Tento parametr se nepoužívá.

Vrácená hodnota

Vždy NEPRAVDA.

Poznámky

Tuto metodu přepište v odvozené třídě, pokud chcete být upozorněni, když uživatel klikne na odkaz v okně upozornění.

CMFCDesktopAlertWnd::OnCommand

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parametry

[v] wParam

[v] Lparam

Vrácená hodnota

Poznámky

CMFCDesktopAlertWnd::OnDraw

virtual void OnDraw(CDC* pDC);

Parametry

[v] Pdc

Poznámky

CMFCDesktopAlertWnd::P rocessCommand

BOOL ProcessCommand(HWND hwnd);

Parametry

[v] Hwnd

Vrácená hodnota

Poznámky

CMFCDesktopAlertWnd::SetAnimationSpeed

Nastaví novou rychlost animace.

void SetAnimationSpeed(UINT nSpeed);

Parametry

nSpeed
[v] Určuje novou rychlost animace v milisekundách.

Poznámky

Voláním této metody nastavíte rychlost animace pro okno upozornění. Výchozí rychlost animace je 30 milisekund.

CMFCDesktopAlertWnd::SetAnimationType

Nastaví typ animace.

void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parametry

type
[v] Určuje typ animace.

Poznámky

Voláním této metody nastavíte typ animace. Můžete určit jednu z následujících hodnot:

  • NO_ANIMATION

  • ROZVINOUT

  • SNÍMEK

  • FADE

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::SetAutoCloseTime

Nastaví časový limit automatického uzavření.

void SetAutoCloseTime(int nTime);

Parametry

nTime
[v] Čas v milisekundách, který uplyne před tím, než se okno upozornění automaticky zavře.

Poznámky

Okno upozornění se automaticky zavře po zadaném čase, pokud uživatel s oknem nebude pracovat.

CMFCDesktopAlertWnd::SetSmallCaption

Přepíná mezi malými a běžnými popis.

void SetSmallCaption(BOOL bSmallCaption = TRUE);

Parametry

bSmallCaption
[v] Hodnota TRUE určuje, že okno výstrahy zobrazuje malé popis; jinak nepravda určuje, že okno výstrahy zobrazuje popis normální velikosti.

Poznámky

Voláním této metody zobrazíte malou nebo běžnou velikost popis. Ve výchozím nastavení je malý popis 7 pixelů vysoký. Velikost běžného popis můžete získat voláním funkce GetSystemMetrics(SM_CYCAPTION)rozhraní API systému Windows .

CMFCDesktopAlertWnd::SetTransparency

Nastaví úroveň průhlednosti automaticky otevíraného okna.

void SetTransparency(BYTE nTransparency);

Parametry

nTransparency
[v] Určuje úroveň průhlednosti. Tato hodnota musí být v rozmezí od 0 do 255 včetně. Čím větší je hodnota, tím více neprůsadnější okno.

Poznámky

Voláním této funkce nastavíte úroveň průhlednosti automaticky otevíraného okna.

CMFCDesktopAlertWnd::GetDialogSize

virtual CSize GetDialogSize();

Vrácená hodnota

Poznámky

Viz také

Graf hierarchie
Třídy
CMFCDesktopAlertWndInfo – třída
CMFCDesktopAlertDialog – třída
CWnd – třída