Partilhar via


CMFCDesktopAlertWnd Classe

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

A CMFCDesktopAlertWnd classe implementa a funcionalidade de uma caixa de diálogo sem modo que aparece no ecrã para informar o utilizador sobre um evento.

Para mais detalhes, consulte o código-fonte localizado na pasta VC\atlmfc\src\mfc da sua instalação no Visual Studio.

Sintaxe

class CMFCDesktopAlertWnd : public CWnd

Membros

Métodos Públicos

Nome Description
CMFCDesktopAlertWnd::Create Cria e inicializa a janela de alertas do ambiente de trabalho.
CMFCDesktopAlertWnd::ObtençãoVelocidadeAnimação Devolve a velocidade da animação.
CMFCDesktopAlertWnd::GetAnimationType Devolve o tipo de animação.
CMFCDesktopAlertWnd::GetAutoCloseTime Devolve o tempo de encerramento automático.
CMFCDesktopAlertWnd::GetCaptionHeight Devolve a altura da legenda.
CMFCDesktopAlertWnd::GetDialogSize
CMFCDesktopAlertWnd::GetLastPos Devolve a última posição válida da janela de alerta do ambiente de trabalho no ecrã.
CMFCDesktopAlertWnd::GetTransparency Devolve o nível de transparência.
CMFCDesktopAlertWnd::HasSmallCaption Determina se a janela de alerta do ambiente de trabalho é exibida com a legenda pequena.
CMFCDesktopAlertWnd::OnBeforeShow
CMFCDesktopAlertWnd::OnClickLinkButtonT É chamado pelo framework quando o utilizador clica num botão de ligação localizado no menu de alerta do ambiente de trabalho.
CMFCDesktopAlertWnd::OnCommand O framework chama esta função membro quando o utilizador seleciona um item de um menu, quando um controlo filho envia uma mensagem de notificação, ou quando uma tecla aceleradora é traduzida. (Sobrepõe CWnd::OnCommand.)
CMFCDesktopAlertWnd::OnDraw
CMFCDesktopAlertWnd::P rocessCommand
CMFCDesktopAlertWnd::SetAnimationSpeed Define a nova velocidade de animação.
CMFCDesktopAlertWnd::SetAnimationType Define o tipo de animação.
CMFCDesktopAlertWnd::SetAutoCloseTime Define o tempo de encerramento automático.
CMFCDesktopAlertWnd::SetSmallCaption Alterna entre legendas pequenas e normais.
CMFCDesktopAlertWnd::SetTransparency Define o nível de transparência.

Observações

Uma janela de alerta no ambiente de trabalho pode ser transparente, pode aparecer com efeitos de animação e pode desaparecer (após um atraso especificado ou quando o utilizador a desativa clicando no botão de fechar).

Uma janela de alerta no ambiente de trabalho pode também conter um diálogo padrão que, por sua vez, contém um ícone, texto de mensagem (um rótulo) e um link. Alternativamente, uma janela de alerta no ambiente de trabalho pode conter um diálogo personalizado dos recursos da aplicação.

Cria-se uma janela de alerta no ambiente de trabalho em dois passos. Primeiro, chame o construtor para construir o CMFCDesktopAlertWnd objeto. Em segundo lugar, chame a função CMFCDesktopAlertWnd::Create member para criar a janela e anexá-la ao CMFCDesktopAlertWnd objeto.

O CMFCDesktopAlertWnd objeto cria uma caixa de diálogo especial para filhos que preenche a área do cliente na janela de alerta do ambiente de trabalho. O diálogo controla todos os controlos que estão posicionados nele.

Para mostrar uma caixa de diálogo personalizada na janela pop-up, siga estes passos:

  1. Derive uma classe a partir de CMFCDesktopAlertDialog.

  2. Cria um modelo de caixa de diálogo filho nos recursos.

  3. Chame CMFCDesktopAlertWnd::Create usando o ID de recurso do modelo da caixa de diálogo e um ponteiro para a informação da classe de execução da classe derivada.

  4. Programe a caixa de diálogo personalizada para tratar todas as notificações provenientes dos controlos alojados, ou programe os controlos alojados para tratar diretamente dessas notificações.

Use as seguintes funções para controlar o comportamento da janela de alerta do ambiente de trabalho:

Example

O exemplo seguinte ilustra como usar vários métodos na CMFCDesktopAlertWnd classe para configurar um CMFCDesktopAlertWnd objeto. O exemplo mostra como definir um tipo de animação, definir a transparência da janela pop-up, especificar que a janela de alerta exibe uma pequena legenda e definir o tempo que decorre antes da janela de alerta fechar automaticamente. O exemplo também demonstra como criar e inicializar a janela de alerta do ambiente de trabalho. Este excerto de código faz parte do exemplo Desktop Alert Demo.

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

Hierarquia de herança

CObject

CCmdTarget

CWnd

CMFCDesktopAlertWnd

Requerimentos

Cabeçalho: afxDesktopAlertWnd.h

CMFCDesktopAlertWnd::Create

Cria e inicializa a janela de alertas do ambiente de trabalho.

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

Parâmetros

pWndOwner
[inspira, expira] Especifica o proprietário da janela de alerta. Esse proprietário receberá então todas as notificações para a janela de alerta do ambiente de trabalho. Este valor não pode ser NULL.

uiDlgResID
[dentro] Especifica o ID de recurso da janela de alerta.

hMenu
[dentro] Especifica o menu que aparece quando o utilizador clica no botão do menu. Se for NULL, o botão de menu não é exibido.

ptPos
[dentro] Especifica a posição inicial onde a janela de alerta é exibida, usando coordenadas do ecrã. Se este parâmetro for (-1, -1), a janela de alerta é exibida no canto inferior direito do ecrã.

pRTIDlgBar
[dentro] Informação da classe em tempo de execução para uma classe de caixa de diálogo personalizada que cobre a área do cliente da janela de alerta.

params
[dentro] Especifica parâmetros que são usados para criar uma janela de alerta.

Valor de retorno

TRUE se a janela de alerta foi criada com sucesso; caso contrário, FALSO.

Observações

Chame este método para criar uma janela de alerta. A área do cliente da janela de alerta contém uma caixa de diálogo filho que hospeda todos os controlos que são exibidos ao utilizador.

A sobrecarga do primeiro método cria uma janela de alerta que contém uma caixa de diálogo filha que é carregada a partir dos recursos da aplicação. A sobrecarga do primeiro método também pode especificar informação de classe em tempo de execução para uma classe de caixa de diálogo personalizada.

A sobrecarga do segundo método cria uma janela de alerta que contém os controlos padrão. Pode especificar quais os controlos a exibir modificando a classe CMFCDesktopAlertWndInfo.

CMFCDesktopAlertWnd::ObtençãoVelocidadeAnimação

Devolve a velocidade da animação.

UINT GetAnimationSpeed() const;

Valor de retorno

A velocidade da animação da janela de alerta, em milissegundos.

Observações

A velocidade da animação descreve a rapidez com que a janela de alerta abre e fecha.

CMFCDesktopAlertWnd::GetAnimationType

Devolve o tipo de animação.

CMFCPopupMenu::ANIMATION_TYPE GetAnimationType();

Valor de retorno

Um dos seguintes tipos de animação:

  • NO_ANIMATION

  • DESDOBRA-SE

  • SLIDE

  • DESVANECIMENTO

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::GetAutoCloseTime

Devolve o tempo de encerramento automático.

int GetAutoCloseTime() const;

Valor de retorno

O tempo, em milissegundos, após o qual a janela de alerta fecha automaticamente.

Observações

Use este método para determinar quanto tempo deve decorrer até que a janela de alerta se feche automaticamente.

CMFCDesktopAlertWnd::GetCaptionHeight

Devolve a altura da legenda.

virtual int GetCaptionHeight();

Valor de retorno

A altura, em pixels, da legenda.

Observações

Este método pode ser sobreposto numa classe derivada. A implementação padrão ou: devolve o valor de altura da legenda pequena (7 pixels) se a janela pop-up mostrar a legenda pequena, ou o valor obtido da função GetSystemMetrics(SM_CYSMCAPTION)API do Windows.

CMFCDesktopAlertWnd::GetLastPos

Devolve a última posição da janela de alerta do ambiente de trabalho no ecrã.

CPoint GetLastPos() const;

Valor de retorno

Um ponto, em coordenadas do ecrã.

Observações

Este método devolve a última posição válida da janela de alerta no ecrã.

CMFCDesktopAlertWnd::GetTransparency

Devolve o nível de transparência.

BYTE GetTransparency() const;

Valor de retorno

Um nível de transparência entre 0 e 255, inclusive. Quanto maior o valor, mais opaca é a janela.

Observações

Use este método para recuperar o nível atual de transparência da janela de alerta.

CMFCDesktopAlertWnd::HasSmallCaption

Determina se a janela de alerta do ambiente de trabalho tem uma legenda pequena ou uma legenda de tamanho normal.

BOOL HasSmallCaption() const;

Valor de retorno

TRUE se a janela pop-up for exibida com uma legenda pequena; FALSE se a janela pop-up for exibida com uma legenda de tamanho normal.

Observações

Use este método para determinar se a janela pop-up tem uma legenda pequena ou uma legenda de tamanho normal. Por defeito, a legenda pequena tem 7 pixels de altura. Pode obter a altura da legenda de tamanho regular chamando a função GetSystemMetrics(SM_CYCAPTION)API do Windows .

CMFCDesktopAlertWnd::OnBeforeShow

virtual BOOL OnBeforeShow(CPoint&);

Parâmetros

[dentro] CPoint&

Valor de retorno

Observações

CMFCDesktopAlertWnd::OnClickLinkButtonT

É chamado pelo framework quando o utilizador clica num botão de ligação localizado no menu de alerta do ambiente de trabalho.

virtual BOOL OnClickLinkButton(UINT uiCmdID);

Parâmetros

uiCmdID
[dentro] Este parâmetro não é utilizado.

Valor de retorno

Sempre FALSO.

Observações

Substitua este método numa classe derivada se quiser ser notificado quando um utilizador clicar no link na janela de alerta.

CMFCDesktopAlertWnd::OnCommand

virtual BOOL OnCommand(
    WPARAM wParam,
    LPARAM lParam);

Parâmetros

[dentro] wParam

[dentro] IParam

Valor de retorno

Observações

CMFCDesktopAlertWnd::OnDraw

virtual void OnDraw(CDC* pDC);

Parâmetros

[dentro] pDC

Observações

CMFCDesktopAlertWnd::P rocessCommand

BOOL ProcessCommand(HWND hwnd);

Parâmetros

[dentro] hwnd

Valor de retorno

Observações

CMFCDesktopAlertWnd::SetAnimationSpeed

Define a nova velocidade de animação.

void SetAnimationSpeed(UINT nSpeed);

Parâmetros

nVelocidade
[dentro] Especifica a nova velocidade de animação, em milissegundos.

Observações

Chame este método para definir a velocidade de animação da janela de alerta. A velocidade padrão da animação é de 30 milissegundos.

CMFCDesktopAlertWnd::SetAnimationType

Define o tipo de animação.

void SetAnimationType(CMFCPopupMenu::ANIMATION_TYPE type);

Parâmetros

type
[dentro] Especifica o tipo de animação.

Observações

Chame este método para definir o tipo de animação. Você pode especificar um dos seguintes valores:

  • NO_ANIMATION

  • DESDOBRA-SE

  • SLIDE

  • DESVANECIMENTO

  • SYSTEM_DEFAULT_ANIMATION

CMFCDesktopAlertWnd::SetAutoCloseTime

Define o tempo de encerramento automático.

void SetAutoCloseTime(int nTime);

Parâmetros

nTime
[dentro] O tempo, em milissegundos, que passa antes da janela de alerta se fechar automaticamente.

Observações

A janela de alerta é automaticamente fechada após o tempo especificado se o utilizador não interagir com a janela.

CMFCDesktopAlertWnd::SetSmallCaption

Alterna entre legendas pequenas e de tamanho normal.

void SetSmallCaption(BOOL bSmallCaption = TRUE);

Parâmetros

bSmallCaption
[dentro] TRUE para especificar que a janela de alerta mostra uma pequena legenda; caso contrário, FALSE para especificar que a janela de alerta exibe uma legenda de tamanho normal.

Observações

Chame este método para mostrar a legenda de tamanho pequeno ou normal. Por defeito, a legenda pequena tem 7 pixels de altura. Pode obter o tamanho da legenda regular chamando a função GetSystemMetrics(SM_CYCAPTION)da API do Windows .

CMFCDesktopAlertWnd::SetTransparency

Define o nível de transparência da janela pop-up.

void SetTransparency(BYTE nTransparency);

Parâmetros

nTransparência
[dentro] Especifica o nível de transparência. Este valor deve estar entre 0 e 255, inclusive. Quanto maior o valor, mais opaca é a janela.

Observações

Chame esta função para definir o nível de transparência da janela popup.

CMFCDesktopAlertWnd::GetDialogSize

virtual CSize GetDialogSize();

Valor de retorno

Observações

Consulte também

Gráfico de Hierarquia
Classes
Turma CMFCDesktopAlertWndInfo
CMFCDesktopAlertDialog Class
Classe CWnd