Share via


CMFCDesktopAlertWnd-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

De CMFCDesktopAlertWnd klasse implementeert de functionaliteit van een modusloos dialoogvenster dat op het scherm wordt weergegeven om de gebruiker te informeren over een gebeurtenis.

Zie de broncode in de map VC\atlmfc\src\mfc van uw Visual Studio-installatie voor meer informatie.

Syntaxis

class CMFCDesktopAlertWnd : public CWnd

Leden

Openbare methoden

Naam Description
CMFCDesktopAlertWnd::Create Hiermee maakt en initialiseert u het waarschuwingsvenster op het bureaublad.
CMFCDesktopAlertWnd::GetAnimationSpeed Retourneert de animatiesnelheid.
CMFCDesktopAlertWnd::GetAnimationType Retourneert het animatietype.
CMFCDesktopAlertWnd::GetAutoCloseTime Retourneert de time-out voor automatisch sluiten.
CMFCDesktopAlertWnd::GetCaptionHeight Retourneert de hoogte van het bijschrift.
CMFCDesktopAlertWnd::GetDialogSize
CMFCDesktopAlertWnd::GetLastPos Retourneert de laatste geldige positie van het bureaubladwaarschuwingsvenster op het scherm.
CMFCDesktopAlertWnd::GetTransparency Retourneert het transparantieniveau.
CMFCDesktopAlertWnd::HasSmallCaption Bepaalt of het waarschuwingsvenster op het bureaublad wordt weergegeven met het kleine bijschrift.
CMFCDesktopAlertWnd::OnBeforeShow
CMFCDesktopAlertWnd::OnClickLinkButton Aangeroepen door het framework wanneer de gebruiker op een koppelingsknop klikt in het waarschuwingsmenu op het bureaublad.
CMFCDesktopAlertWnd::OnCommand Het framework roept deze lidfunctie aan wanneer de gebruiker een item in een menu selecteert, wanneer een onderliggend besturingselement een meldingsbericht verzendt of wanneer een toetsaanslag op een accelerator wordt vertaald. (Overschrijft CWnd::OnCommand.)
CMFCDesktopAlertWnd::OnDraw
CMFCDesktopAlertWnd::P rocessCommand
CMFCDesktopAlertWnd::SetAnimationSpeed Hiermee stelt u de nieuwe animatiesnelheid in.
CMFCDesktopAlertWnd::SetAnimationType Hiermee stelt u het animatietype in.
CMFCDesktopAlertWnd::SetAutoCloseTime Hiermee stelt u de time-out voor automatisch sluiten in.
CMFCDesktopAlertWnd::SetSmallCaption Schakelt tussen kleine en normale bijschriften.
CMFCDesktopAlertWnd::SetTransparency Hiermee stelt u het transparantieniveau in.

Opmerkingen

Een waarschuwingsvenster op het bureaublad kan transparant zijn, het kan worden weergegeven met animatie-effecten en kan verdwijnen (na een opgegeven vertraging of wanneer de gebruiker het sluit door op de knop Sluiten te klikken).

Een venster met bureaubladwaarschuwingen kan ook een standaarddialoogvenster bevatten dat op zijn beurt een pictogram, berichttekst (een label) en een koppeling bevat. U kunt ook een waarschuwingsvenster op het bureaublad een aangepast dialoogvenster van de resources van de toepassing bevatten.

U maakt in twee stappen een waarschuwingsvenster op het bureaublad. Roep eerst de constructor aan om het CMFCDesktopAlertWnd object te maken. Roep vervolgens de CMFCDesktopAlertWnd::Create member function aan om het venster te maken en deze aan het CMFCDesktopAlertWnd object te koppelen.

Het CMFCDesktopAlertWnd object maakt een speciaal onderliggend dialoogvenster dat het clientgebied van het bureaubladwaarschuwingsvenster vult. Het dialoogvenster is eigenaar van alle besturingselementen die erop staan.

Voer de volgende stappen uit om een aangepast dialoogvenster weer te geven in het pop-upvenster:

  1. Een klasse afleiden van CMFCDesktopAlertDialog.

  2. Een onderliggend dialoogvenstersjabloon maken in de resources.

  3. Roep CMFCDesktopAlertWnd aan::Maak met behulp van de resource-id van de dialoogvenstersjabloon en een aanwijzer naar de runtimeklasse-informatie van de afgeleide klasse.

  4. Programma het aangepaste dialoogvenster voor het afhandelen van alle meldingen die afkomstig zijn van de gehoste besturingselementen of programma de gehoste besturingselementen om deze meldingen rechtstreeks te verwerken.

Gebruik de volgende functies om het gedrag van het waarschuwingsvenster op het bureaublad te beheren:

Example

In het volgende voorbeeld ziet u hoe u verschillende methoden in de CMFCDesktopAlertWnd klasse gebruikt om een CMFCDesktopAlertWnd object te configureren. In het voorbeeld ziet u hoe u een animatietype instelt, de transparantie van het pop-upvenster instelt, opgeeft dat het waarschuwingsvenster een klein bijschrift weergeeft en de tijd instelt die is verstreken voordat het waarschuwingsvenster automatisch wordt gesloten. In het voorbeeld ziet u ook hoe u het waarschuwingsvenster voor het bureaublad maakt en initialiseert. Dit codefragment maakt deel uit van het voorbeeld van de desktopwaarschuwingsdemo.

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

Overnamehiërarchie

CObject

CCmdTarget-

CWnd

CMFCDesktopAlertWnd

Requirements

Header: afxDesktopAlertWnd.h

CMFCDesktopAlertWnd::Create

Hiermee maakt en initialiseert u het waarschuwingsvenster op het bureaublad.

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

Parameterwaarden

pWndOwner
[in, uit] Hiermee geeft u de eigenaar van het waarschuwingsvenster. Deze eigenaar ontvangt vervolgens alle meldingen voor het waarschuwingsvenster op het bureaublad. Deze waarde kan niet NULL zijn.

uiDlgResID
[in] Hiermee geeft u de resource-id van het waarschuwingsvenster.

hMenu
[in] Hiermee geeft u het menu op dat wordt weergegeven wanneer de gebruiker op de menuknop klikt. Als NULL is, wordt de menuknop niet weergegeven.

ptPos
[in] Hiermee geeft u de initiële positie op waar het waarschuwingsvenster wordt weergegeven, met behulp van schermcoördinaten. Als deze parameter (-1, -1) is, wordt het waarschuwingsvenster weergegeven in de rechterbenedenhoek van het scherm.

pRTIDlgBar
[in] Informatie over runtimeklassen voor een aangepaste dialoogvensterklasse die het clientgebied van het waarschuwingsvenster bedekt.

params
[in] Hiermee geeft u parameters op die worden gebruikt om een waarschuwingsvenster te maken.

Retourwaarde

WAAR als het waarschuwingsvenster is gemaakt; anders, ONWAAR.

Opmerkingen

Roep deze methode aan om een waarschuwingsvenster te maken. Het clientgebied van het waarschuwingsvenster bevat een onderliggend dialoogvenster waarin alle besturingselementen worden gehost die aan de gebruiker worden weergegeven.

De eerste overbelasting van de methode maakt een waarschuwingsvenster met een onderliggend dialoogvenster dat wordt geladen vanuit de resources van de toepassing. De eerste overbelasting van de methode kan ook runtimeklasse-informatie opgeven voor een aangepaste dialoogvensterklasse.

Met de tweede overbelasting van de methode wordt een waarschuwingsvenster gemaakt dat standaardbesturingselementen bevat. U kunt opgeven welke besturingselementen moeten worden weergegeven door de CMFCDesktopAlertWndInfo-klasse te wijzigen.

CMFCDesktopAlertWnd::GetAnimationSpeed

Retourneert de animatiesnelheid.

UINT GetAnimationSpeed() const;

Retourwaarde

De animatiesnelheid van het waarschuwingsvenster, in milliseconden.

Opmerkingen

De animatiesnelheid beschrijft hoe snel het waarschuwingsvenster wordt geopend en gesloten.

CMFCDesktopAlertWnd::GetAnimationType

Retourneert het animatietype.

CMFCPopupMenu::ANIMATION_TYPE GetAnimationType();

Retourwaarde

Een van de volgende animatietypen:

  • NO_ANIMATION

  • ONTVOUWEN

  • DIA

  • FADE

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::GetAutoCloseTime

Retourneert de time-out voor automatisch sluiten.

int GetAutoCloseTime() const;

Retourwaarde

De tijd, in milliseconden, waarna het waarschuwingsvenster automatisch wordt gesloten.

Opmerkingen

Gebruik deze methode om te bepalen hoeveel tijd moet worden verstreken voordat het waarschuwingsvenster automatisch wordt gesloten.

CMFCDesktopAlertWnd::GetCaptionHeight

Retourneert de hoogte van het bijschrift.

virtual int GetCaptionHeight();

Retourwaarde

De hoogte, in pixels, van het bijschrift.

Opmerkingen

Deze methode kan worden overschreven in een afgeleide klasse. De standaardimplementatie: retourneert de waarde van de kleine bijschrifthoogte (7 pixels) als het pop-upvenster het kleine bijschrift moet weergeven of de waarde die is verkregen van de Windows API-functie GetSystemMetrics(SM_CYSMCAPTION).

CMFCDesktopAlertWnd::GetLastPos

Retourneert de laatste positie van het bureaubladwaarschuwingsvenster op het scherm.

CPoint GetLastPos() const;

Retourwaarde

Een punt, in schermcoördinaten.

Opmerkingen

Met deze methode wordt de laatste geldige positie van het waarschuwingsvenster op het scherm geretourneerd.

CMFCDesktopAlertWnd::GetTransparency

Retourneert het transparantieniveau.

BYTE GetTransparency() const;

Retourwaarde

Een transparantieniveau tussen 0 en 255, inclusief. Hoe groter de waarde, hoe ondoorzichtiger het venster.

Opmerkingen

Gebruik deze methode om het huidige transparantieniveau van het waarschuwingsvenster op te halen.

CMFCDesktopAlertWnd::HasSmallCaption

Bepaalt of het waarschuwingsvenster op het bureaublad een klein bijschrift of een bijschrift met een normale grootte heeft.

BOOL HasSmallCaption() const;

Retourwaarde

WAAR als het pop-upvenster wordt weergegeven met een klein bijschrift; ONWAAR als het pop-upvenster wordt weergegeven met een bijschrift van normale grootte.

Opmerkingen

Gebruik deze methode om te bepalen of het pop-upvenster een klein bijschrift of een bijschrift met een normale grootte heeft. Standaard is het kleine bijschrift 7 pixels hoog. U kunt de hoogte van het bijschrift met normale grootte verkrijgen door de Windows API-functie GetSystemMetrics(SM_CYCAPTION)aan te roepen.

CMFCDesktopAlertWnd::OnBeforeShow

virtual BOOL OnBeforeShow(CPoint&);

Parameterwaarden

[in] CPoint&

Retourwaarde

Opmerkingen

CMFCDesktopAlertWnd::OnClickLinkButton

Aangeroepen door het framework wanneer de gebruiker op een koppelingsknop klikt in het waarschuwingsmenu op het bureaublad.

virtual BOOL OnClickLinkButton(UINT uiCmdID);

Parameterwaarden

uiCmdID
[in] Deze parameter wordt niet gebruikt.

Retourwaarde

Altijd ONWAAR.

Opmerkingen

Overschrijf deze methode in een afgeleide klasse als u een melding wilt ontvangen wanneer een gebruiker op de koppeling in het waarschuwingsvenster klikt.

CMFCDesktopAlertWnd::OnCommand

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parameterwaarden

[in] wParam

[in] lParam

Retourwaarde

Opmerkingen

CMFCDesktopAlertWnd::OnDraw

virtual void OnDraw(CDC* pDC);

Parameterwaarden

[in] Pdc

Opmerkingen

CMFCDesktopAlertWnd::P rocessCommand

BOOL ProcessCommand(HWND hwnd);

Parameterwaarden

[in] Hwnd

Retourwaarde

Opmerkingen

CMFCDesktopAlertWnd::SetAnimationSpeed

Hiermee stelt u de nieuwe animatiesnelheid in.

void SetAnimationSpeed(UINT nSpeed);

Parameterwaarden

nSpeed
[in] Hiermee geeft u de nieuwe animatiesnelheid, in milliseconden.

Opmerkingen

Roep deze methode aan om de animatiesnelheid voor het waarschuwingsvenster in te stellen. De standaardanimatiesnelheid is 30 milliseconden.

CMFCDesktopAlertWnd::SetAnimationType

Hiermee stelt u het animatietype in.

void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parameterwaarden

type
[in] Hiermee geeft u het animatietype op.

Opmerkingen

Roep deze methode aan om het animatietype in te stellen. U kunt een van de volgende waarden opgeven:

  • NO_ANIMATION

  • ONTVOUWEN

  • DIA

  • FADE

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::SetAutoCloseTime

Hiermee stelt u de time-out voor automatisch sluiten in.

void SetAutoCloseTime(int nTime);

Parameterwaarden

nTime
[in] De tijd, in milliseconden, die is verstreken voordat het waarschuwingsvenster automatisch wordt gesloten.

Opmerkingen

Het waarschuwingsvenster wordt automatisch gesloten na de opgegeven tijd als de gebruiker niet met het venster communiceert.

CMFCDesktopAlertWnd::SetSmallCaption

Schakelen tussen kleine en normale bijschriften.

void SetSmallCaption(BOOL bSmallCaption = TRUE);

Parameterwaarden

bSmallCaption
[in] WAAR om op te geven dat in het waarschuwingsvenster een klein bijschrift wordt weergegeven; anders is FALSE om op te geven dat in het waarschuwingsvenster een bijschrift met een normale grootte wordt weergegeven.

Opmerkingen

Roep deze methode aan om het kleine of normale bijschrift weer te geven. Standaard is het kleine bijschrift 7 pixels hoog. U kunt de grootte van het normale bijschrift verkrijgen door de Windows API-functie GetSystemMetrics(SM_CYCAPTION)aan te roepen.

CMFCDesktopAlertWnd::SetTransparency

Hiermee stelt u het transparantieniveau van het pop-upvenster in.

void SetTransparency(BYTE nTransparency);

Parameterwaarden

nTransparency
[in] Hiermee geeft u het transparantieniveau. Deze waarde moet tussen 0 en 255 liggen, inclusief. Hoe groter de waarde, hoe ondoorzichtiger het venster.

Opmerkingen

Roep deze functie aan om het transparantieniveau van het pop-upvenster in te stellen.

CMFCDesktopAlertWnd::GetDialogSize

virtual CSize GetDialogSize();

Retourwaarde

Opmerkingen

Zie ook

Hiërarchiegrafiek
Klassen
Klasse CMFCDesktopAlertWndInfo
Klasse CMFCDesktopAlertDialog
CWnd-klasse