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.
Um painel separado com a aparência visual do Painel de Navegação no Microsoft Outlook 2000 ou Outlook 2003. O CMFCOutlookBar objeto contém um objeto CMFCOutlookBarTabCtrl e uma série de separadores. Os separadores podem ser objetos da classe CMFCOutlookBarPane ou CWndobjetos derivados de -. Para o utilizador, a barra do Outlook aparece como uma série de botões e uma área de visualização. Quando o utilizador clica num botão, é exibido o controlo correspondente ou painel de botões.
Sintaxe
class CMFCOutlookBar : public CBaseTabbedPane
Membros
Construtores Públicos
| Nome | Description |
|---|---|
CMFCOutlookBar::CMFCOutlookBar |
Construtor padrão. |
CMFCOutlookBar::~CMFCOutlookBar |
Destruidor. |
Métodos Públicos
| Nome | Description |
|---|---|
| CMFCOutlookBar::PermitirDestruirPanelSeparadoEsvaziado | Especifica se um painel vazio com aba pode ser destruído. (Sobrepõe CBaseTabbedPane::AlpermitoyDestroyEmptyTabbedPane.) |
| CMFCOutlookBar::CanAcceptPane | Determina se outro painel pode ser acoplado ao painel da barra do Outlook. (Sobrepõe CDockablePane::CanAcceptPane.) |
| CMFCOutlookBar::CanSetCaptionTextToTabName | Determina se a legenda do painel separado mostra o mesmo texto do separador ativo. (Sobrepõe CBaseTabbedPane::CanSetCaptionTextToTabName.) |
| CMFCOutlookBar::Create | Cria o controlo da barra do Outlook. |
| CMFCOutlookBar::CreateCustomPage | Cria um separador Outlook personalizado. |
CMFCOutlookBar::CreateObject |
Usado pelo framework para criar uma instância dinâmica deste tipo de classe. |
| CMFCOutlookBar::D oesAllowDynInsertBefore | Determina se um utilizador pode acoplar uma barra de controlo na borda exterior da barra do Outlook. |
| CMFCOutlookBar::FloatTab | Faz flutuar um painel, mas só se o painel estiver atualmente num separador destacável. (Sobrepõe CBaseTabbedPane::FloatTab.) |
| CMFCOutlookBar::GetButtonsFont | Devolve a fonte do texto nos botões da barra do Outlook. |
| CMFCOutlookBar::GetTabArea | Devolve o tamanho e a posição das áreas de separadores na barra do Outlook. (Sobrepõe CBaseTabbedPane::GetTabArea.) |
CMFCOutlookBar::GetThisClass |
Usado pelo framework para obter um ponteiro para o objeto CRuntimeClass associado a este tipo de classe. |
| CMFCOutlookBar::IsMode2003 | Determina se o comportamento da barra do Outlook imita o do Microsoft Office Outlook 2003 (ver Observações). |
| CMFCOutlookBar::OnAfterAnimation | Chamado por CMFCOutlookBarTabCtrl::SetActiveTab depois de o separador ativo ter sido definido usando animação. |
| CMFCOutlookBar::OnBeforeAnimation | Chamado por CMFCOutlookBarTabCtrl::SetActiveTab antes de uma página de separador ser definida como o separador ativo usando animação. |
| CMFCOutlookBar::OnScroll | É chamado pelo framework se a barra do Outlook está a descer para cima ou para baixo. |
| CMFCOutlookBar::RemoveCustomPage | Remove um separador personalizado do Outlook na barra. |
| CMFCOutlookBar::SetButtonsFont | Define a fonte do texto nos botões da barra do Outlook. |
| CMFCOutlookBar::SetMode2003 | Especifica se o comportamento da barra do Outlook imita o do Outlook 2003 (ver Observações). |
Observações
Para um exemplo de barra Outlook, veja o Exemplo OutlookDemo: MFC OutlookDemo Application.
Implementação da Barra do Outlook
Para usar o CMFCOutlookBar controlo na sua aplicação, siga estes passos:
Incorporar um
CMFCOutlookBarobjeto na classe janela do quadro principal.class CMainFrame : public CMDIFrameWnd { // ... CMFCOutlookBar m_wndOutlookBar; CMFCOutlookBarPane m_wndOutlookPane; // ... };Ao processar a mensagem WM_CREATE no quadro principal, chame o método CMFCOutlookBar::Create para criar o controlo de separador da barra do Outlook.
m_wndOutlookBar.Create (_T("Shortcuts"), this, CRect (0, 0, 100, 100), ID_VIEW_OUTLOOKBAR, WS_CHILD | WS_VISIBLE | CBRS_LEFT);Obtenha um ponteiro para o subjacente
CMFCOutlookBarTabCtrlusando CBaseTabbedPane::GetUnderlyingWindow.CMFCOutlookBarTabCtrl* pOutlookBar = (CMFCOutlookBarTabCtrl*) m_wndOutlookBar.GetUnderlyingWindow ();Crie um objeto CMFCOutlookBarPane Class para cada separador que contenha botões.
m_wndOutlookPane.Create(&m_wndOutlookBar, AFX_DEFAULT_TOOLBAR_STYLE, ID_OUTLOOK_PANE_GENERAL, AFX_CBRS_FLOAT | AFX_CBRS_RESIZE); // make the Outlook pane detachable (enable docking) m_wndOutlookPane.EnableDocking(CBRS_ALIGN_ANY); // add buttons m_wndOutlookPane.AddButton(theApp.LoadIcon (IDR_MAINFRAME), "About", ID_APP_ABOUT); m_wndOutlookPane.AddButton (theApp.LoadIcon (IDR_CUSTOM_OPEN_ICON), "Open", ID_FILE_OPEN);Chame CMFCOutlookBarTabCtrl::AddTab para adicionar cada novo separador. Defina o parâmetro bDetachable para FALSE para tornar uma página não destacável. Ou então usa o CMFCOutlookBarTabCtrl::AddControl para adicionar páginas destacáveis.
pOutlookBar->AddTab (&m_wndOutlookPane, "General", (UINT) -1, TRUE);Para adicionar um
CWndcontrolo derivado em (por exemplo, CMFCShellTreeCtrl Class) como separador, crie o controlo e chame CMFCOutlookBarTabCtrl::AddTab para o adicionar à barra do Outlook.
Observação
Deve usar IDs de controlo únicos para cada objeto CMFCOutlookBarPane Class e para cada CWndobjeto derivado de -.
Para adicionar ou eliminar dinamicamente novas páginas em tempo de execução, use CMFCOutlookBar::CreateCustomPage e CMFCOutlookBar::RemoveCustomPage.
Modo Outlook 2003
No modo Outlook 2003, os botões de tabulação estão posicionados na parte inferior do painel de barras do Outlook. Quando não há espaço suficiente para exibir os botões, estes são exibidos como ícones numa área semelhante a uma barra de ferramentas na parte inferior do painel.
Usa o CMFCOutlookBar::SetMode2003 para ativar o modo Outlook 2003. Use o CMFCOutlookBarTabCtrl::SetToolbarImageList para definir o bitmap que contém os ícones que são exibidos na parte inferior da barra do Outlook. Os ícones no bitmap devem ser ordenados por índice de tabulação.
Hierarquia de herança
Requerimentos
Cabeçalho: afxoutlookbar.h
CMFCOutlookBar::PermitirDestruirPanelSeparadoEsvaziado
Especifica se um painel vazio com aba pode ser destruído.
virtual BOOL AllowDestroyEmptyTabbedPane() const;
Valor de retorno
VERDADEIRO se um painel vazio com aba puder ser destruído; caso contrário, FALSO. A implementação padrão devolve sempre TRUE.
Observações
Se um painel vazio com separações não puder ser destruído, a estrutura esconde-o em vez disso.
CMFCOutlookBar::CanAcceptPane
Determina se outro painel pode ser acoplado ao painel da barra do Outlook.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Parâmetros
pBar
[dentro] Um apontador para outro painel que está a ser acoplado a este painel.
Valor de retorno
TRUE se outro painel puder ser acoplado ao painel da barra do Outlook; caso contrário, FALSO.
Observações
Se a barra do Outlook estiver em modo Outlook 2003, o docking não é suportado, por isso o valor de retorno é FALSO.
Se o parâmetro pBar for NULL, este método devolve FALSE.
Caso contrário, este método comporta-se como o método base CBasePane::CanAcceptPane, exceto que mesmo que a docking não esteja ativada, uma barra do Outlook pode ainda permitir que outra barra do Outlook seja acoplada sobre ela.
CMFCOutlookBar::CanSetCaptionTextToTabName
Determina se a legenda do painel separado mostra o mesmo texto que o separador ativo.
virtual BOOL CanSetCaptionTextToTabName() const;
Valor de retorno
TRUE se a legenda da janela da barra do Outlook for automaticamente definida para o texto do separador ativo; caso contrário, FALSO.
Observações
Use CBaseTabbedPane::EnableSetCaptionTextToTabName para ativar ou desativar esta funcionalidade.
No modo Outlook 2003, esta definição está sempre ativada.
CMFCOutlookBar::Create
Cria o controlo da barra do Outlook.
virtual BOOL Create(
LPCTSTR lpszCaption,
CWnd* pParentWnd,
const RECT& rect,
UINT nID,
DWORD dwStyle,
DWORD dwControlBarStyle=AFX_CBRS_RESIZE,
CCreateContext* pContext=NULL);
Parâmetros
lpszLegenda
[dentro] Especifica a legenda da janela.
pParentWnd
[dentro] Especifica um ponteiro para uma janela parental. Não pode ser NULL.
retângulo
[dentro] Especifica o tamanho e a posição da barra do Outlook em pixels.
nID
[dentro] Especifica o ID do controlo. Deve ser distinto de outros IDs de controlo usados na aplicação.
dwStyle
[dentro] Especifica o estilo de barra de controlo desejado. Para valores possíveis, veja Estilos de Janela.
dwControlBarStyle
[dentro] Especifica os estilos especiais definidos pela biblioteca.
pContext
[dentro] Cria contexto.
Valor de retorno
Diferente de zero se o método for bem-sucedido; caso contrário, 0.
Observações
Constroem um CMFCOutlookBar objeto em dois passos. Primeiro chama o construtor, e depois chama Create, que cria o controlo da barra do Outlook e o anexa ao CMFCOutlookBar objeto.
Consulte CBasePane::CreateEx para a lista dos estilos definidos pela biblioteca disponíveis a especificar pelo dwControlBarStyle.
Example
O exemplo seguinte demonstra como usar o Create método da CMFCOutlookBar classe. Este excerto de código faz parte do exemplo Outlook Multi Views.
CMFCOutlookBar m_wndShortcutsBar;
// int nInitialWidth
// CString strCaption
if (!m_wndShortcutsBar.Create(strCaption, this,
CRect(0, 0, nInitialWidth, nInitialWidth),
ID_VIEW_OUTLOOKBAR, WS_CHILD | WS_VISIBLE | CBRS_LEFT))
{
TRACE0("Failed to create outlook bar\n");
return FALSE; // fail to create
}
CMFCOutlookBar::CreateCustomPage
Cria um separador Outlook personalizado.
CMFCOutlookBarPane* CreateCustomPage(
LPCTSTR lpszPageName,
BOOL bActivatePage=TRUE,
DWORD dwEnabledDocking=CBRS_ALIGN_ANY,
BOOL bEnableTextLabels=TRUE);
Parâmetros
lpszPageName
[dentro] A etiqueta da página.
bActivatePage
[dentro] Se for VERDADEIRO, a página torna-se ativa na criação.
dwEnabledDocking
[dentro] Uma combinação de CBRS_ALIGN_ flags que especifica os lados de acoplamento ativados quando a página é desligada.
bEnableTextLabels
[dentro] Se TRUE, as etiquetas de texto estão ativadas para os botões que estão na página.
Valor de retorno
Um apontador para a página recém-criada, ou NULL caso a criação falhasse.
Observações
Use este método para permitir que os utilizadores criem páginas de barra Outlook personalizadas. Pode criar até 100 páginas por aplicação. Os IDs de controlo de página começam a partir de 0xF000. A criação falha se o número total de páginas de barras personalizadas do Outlook ultrapassar 100.
Usa o CMFCOutlookBar::RemoveCustomPage para apagar páginas personalizadas.
CMFCOutlookBar::D oesAllowDynInsertBefore
Especifica se um utilizador pode acoplar um painel na extremidade exterior da barra do Outlook.
DECLARE_MESSAGE_MAP virtual BOOL DoesAllowDynInsertBefore() const;
Valor de retorno
A implementação padrão devolve FALSE.
Observações
A framework chama o DoesAllowDynInsertBefore método quando procura um local para acoplar um painel dinâmico. Se a função devolver FALSE, a estrutura não permite o acoplamento de qualquer painel dinâmico nas extremidades exteriores do painel.
Normalmente, crias uma barra do Outlook como um controlo estático e não flutuante. Podes sobrescrever esta função numa classe derivada e devolver TRUE para alterar esse comportamento.
Observação
Como os painéis dinâmicos verificam o estado dos painéis estáticos acoplados ao acoplar, deves acoplar os painéis dinâmicos depois dos painéis estáticos sempre que possível.
CMFCOutlookBar::FloatTab
Flutua um vidro.
virtual BOOL FloatTab(
CWnd* pBar,
int nTabID,
AFX_DOCK_METHOD dockMethod,
BOOL bHide);
Parâmetros
pBar
[dentro] Um apontador para o vidro para flutuar.
nTabID
[dentro] O índice em base zero da aba para flutuar.
dockMethod
[dentro] Especifica o método a usar para fazer o painel flutuar. Para mais informações, consulte CBaseTabbedPane::FloatTab.
bHide
[dentro] VERDADEIRO para esconder o vidro antes de flutuar; caso contrário, FALSO. Ao contrário da versão base deste método, este parâmetro não tem um valor predefinido.
Valor de retorno
VERDADE se o vidro flutuasse; caso contrário, FALSO.
Observações
Este método é como o CBaseTabbedPane::FloatTab , exceto que não permite que a última aba restante num controlo da barra do Outlook flutue.
CMFCOutlookBar::GetButtonsFont
Devolve a fonte do texto nos separadores de botões da página da barra Outlook.
CFont* GetButtonsFont() const;
Valor de retorno
Um ponteiro para o objeto fonte que é usado para mostrar texto nos separadores dos botões da página da barra do Outlook.
Observações
Use esta função para recuperar a fonte que é usada para mostrar o texto nos separadores de botões da página do Outlook. Pode definir a fonte chamando CMFCOutlookBar::SetButtonsFont.
CMFCOutlookBar::GetTabArea
Determina o tamanho e a posição das áreas de separadores na barra do Outlook.
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
Parâmetros
rectTabAreaTop
[fora] Contém o tamanho e a posição (nas coordenadas do cliente) da área superior do separador quando a função retorna.
rectTabAreaBottom
[fora] Contém o tamanho e a posição (nas coordenadas do cliente) da área inferior do separador quando a função retorna.
Observações
O framework chama este método para determinar o tipo de acoplamento ao painel alvo. Quando o framework determina que o utilizador arrasta o painel a ser acoplado sobre a área de separação do painel de destino, tenta adicionar o primeiro painel como um novo separador do painel de destino. Caso contrário, tenta acoplar o primeiro painel num lado apropriado do painel alvo. A estrutura cria um novo contentor com um slider para acomodar o painel adicional acoplado.
A implementação por defeito de GetTabArea devolve toda a área cliente da barra do Outlook se a barra do Outlook estiver estática; isto é, se a barra do Outlook não puder flutuar. Caso contrário, devolve a área que os botões da página ocupam no topo e na base do controlo da barra do Outlook.
Substitua este método na classe derivada de CMFCOutlookBar para alterar este comportamento.
CMFCOutlookBar::IsMode2003
Especifica se o comportamento da barra do Outlook imita o do Microsoft Office Outlook 2003.
BOOL IsMode2003() const;
Valor de retorno
Diferente de zero se a barra do Outlook estiver a correr em modo Microsoft Office 2003; caso contrário, 0.
Observações
Pode ativar este modo usando o CMFCOutlookBar::SetMode2003.
CMFCOutlookBar::OnAfterAnimation
Chamado por CMFCOutlookBarTabCtrl::SetActiveTab depois de o separador ativo ter sido definido usando animação.
virtual void OnAfterAnimation(int nPage);
Parâmetros
nPage
[dentro] O índice baseado em zero da página de separadores que foi ativada.
Observações
O efeito visual de definir o separador ativo depende de teres ou não ativado a animação. Para mais informações, consulte CMFCOutlookBarTabCtrl::EnableAnimation.
CMFCOutlookBar::OnBeforeAnimation
Chamado por CMFCOutlookBarTabCtrl::SetActiveTab antes de uma página de separador ser definida como o separador ativo usando animação.
virtual BOOL OnBeforeAnimation(int nPage);
Parâmetros
nPage
[dentro] O índice baseado em zero da página de separador que está prestes a ser ativada.
Valor de retorno
Retorna TRUE se a animação for usada na definição do novo separador ativo, ou FALSE se a animação for desativada.
Observações
CMFCOutlookBar::OnScroll
É chamado pelo framework se a barra do Outlook está a descer para cima ou para baixo.
virtual void OnScroll(BOOL bDown);
Parâmetros
bDown
[dentro] TRUE se a barra do Outlook estiver a descer, ou FALSE se estiver a subir.
Observações
CMFCOutlookBar::RemoveCustomPage
Remove uma página de separador Outlook personalizada.
BOOL RemoveCustomPage(
UINT uiPage,
CMFCOutlookBarTabCtrl* pTargetWnd);
Parâmetros
uiPage
[dentro] Índice zero da página na janela principal do Outlook.
pTargetWnd
[dentro] Aponta para a janela principal do Outlook.
Valor de retorno
Diferente de zero se a página personalizada tiver sido removida com sucesso; caso contrário, 0.
Observações
Chame esta função para apagar páginas personalizadas. Quando a página é removida, o seu ID de controlo é devolvido ao conjunto de IDs disponíveis.
Deve fornecer um ponteiro para o objeto CMFCOutlookBarTabCtrl Class onde atualmente reside a página a ser removida. Note que um utilizador pode mover páginas destacáveis entre diferentes barras do Outlook, mas a informação sobre uma página personalizada reside no objeto da barra do Outlook para o qual chamou CMFCOutlookBar::CreateCustomPage.
Use CBaseTabbedPane::GetUnderlyingWindow para obter um ponteiro para a janela do Outlook.
CMFCOutlookBar::SetButtonsFont
Define a fonte do texto nos botões da barra do Outlook.
void SetButtonsFont(
CFont* pFont,
BOOL bRedraw=TRUE);
Parâmetros
pFont
[dentro] Especifica a nova fonte.
bRedraw
[dentro] Se for VERDADEIRO, a barra do Outlook será redesenhada.
Observações
Use este método para definir uma fonte para o texto exibido nos botões da página do separador do Outlook.
CMFCOutlookBar::SetMode2003
Especifica se o comportamento da barra do Outlook imita o do Outlook 2003.
void SetMode2003(BOOL bMode2003=TRUE);
Parâmetros
bMode2003
[dentro] Se for TRUE, o modo Office 2003 está ativado.
Observações
Use esta função para ativar ou desativar o modo Office 2003. Neste modo, a barra do Outlook tem uma barra de ferramentas adicional com um botão de personalização. O comportamento da barra do Outlook está em conformidade com o comportamento da barra do Outlook no Microsoft Office 2003.
Por defeito, este modo está desativado.
Observação
Esta função deve ser chamada antes do CMFCOutlookBar::Create.
Consulte também
Gráfico de Hierarquia
Classes
Classe CBaseTabbedPane
Classe CMFCOutlookBarTabCtrl
CMFCOutlookBarPane Classe