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:
Odvození třídy z
CMFCDesktopAlertDialog
.V prostředcích vytvořte podřízenou šablonu dialogového okna.
Volání CMFCDesktopAlertWnd::Create pomocí ID prostředku šablony dialogového okna a ukazatele na informace třídy modulu runtime odvozené třídy.
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:
Nastavte typ animace voláním CMFCDesktopAlertWnd::SetAnimationType. Mezi platné možnosti patří rozbalte, snímek a prolnutí.
Nastavte rychlost animačního rámce voláním CMFCDesktopAlertWnd::SetAnimationSpeed.
Nastavte úroveň průhlednosti voláním CMFCDesktopAlertWnd::SetTransparency.
Změňte velikost popis na malou voláním CMFCDesktopAlertWnd::SetSmallCaption. Malý popis je vysoký 7 pixelů.
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
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