Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
Derive uma classe a partir de
CMFCDesktopAlertDialog.Cria um modelo de caixa de diálogo filho nos recursos.
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.
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:
Defina o tipo de animação chamando CMFCDesktopAlertWnd::SetAnimationType. Opções válidas incluem desdobrar, deslizar e desvanecer.
Defina a velocidade dos frames de animação chamando CMFCDesktopAlertWnd::SetAnimationSpeed.
Defina o nível de transparência chamando CMFCDesktopAlertWnd::SetTransparency.
Mude o tamanho da legenda para pequeno ligando para CMFCDesktopAlertWnd::SetSmallCaption. A legenda pequena tem 7 pixels de altura.
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
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