Classe CMFCAutoHideBar

A classe CMFCAutoHideBar é uma classe de barra de ferramentas especial que implementa o recurso de ocultação automática.

Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.

Sintaxe

class CMFCAutoHideBar : public CPane

Membros

Construtores públicos

Nome Descrição
CMFCAutoHideBar::CMFCAutoHideBar

Métodos públicos

Nome Descrição
CMFCAutoHideBar::AddAutoHideWindow
CMFCAutoHideBar::AllowShowOnPaneMenu (Substitui CPane::AllowShowOnPaneMenu.)
CMFCAutoHideBar::CalcFixedLayout (Substitui CBasePane::CalcFixedLayout.)
CMFCAutoHideBar::Create Cria uma barra de controle e a anexa ao objeto CPane. (Substitui CPane::Create.)
CMFCAutoHideBar::GetFirstAHWindow
CMFCAutoHideBar::GetVisibleCount
CMFCAutoHideBar::OnShowControlBarMenu Chamado pela estrutura quando um menu de painel especial está prestes a ser exibido. (Substitui CPane::OnShowControlBarMenu.)
CMFCAutoHideBar::RemoveAutoHideWindow
CMFCAutoHideBar::SetActiveInGroup (Substitui CPane::SetActiveInGroup.)
CMFCAutoHideBar::SetRecentVisibleState
CMFCAutoHideBar::ShowAutoHideWindow
CMFCAutoHideBar::StretchPane Alonga um painel vertical ou horizontalmente. (Substitui CBasePane::StretchPane.)
CMFCAutoHideBar::UnSetAutoHideMode
CMFCAutoHideBar::UpdateVisibleState

Membros de dados

Nome Descrição
CMFCAutoHideBar::m_nShowAHWndDelay O atraso de tempo entre o momento em que o usuário coloca o cursor do mouse sobre uma Classe CMFCAutoHideButton e o momento em que a estrutura mostra a janela associada.

Comentários

Quando o usuário alterna um painel de encaixe para o modo de ocultação automática, a estrutura cria automaticamente um objeto CMFCAutoHideBar. Ele também cria os objetos CAutoHideDockSite e CMFCAutoHideButton necessários. Cada objeto CAutoHideDockSite está associado a um CMFCAutoHideButton individual.

A classe CMFCAutoHideBar implementa a exibição de um CAutoHideDockSite quando o mouse de um usuário passa o mouse sobre um CMFCAutoHideButton. Quando a barra de ferramentas recebe uma mensagem WM_MOUSEMOVE, CMFCAutoHideBar inicia um temporizador. Quando o temporizador é concluído, ele envia à barra de ferramentas uma notificação de evento WM_TIMER. A barra de ferramentas manipula esse evento verificando se o ponteiro do mouse está posicionado sobre o mesmo botão de ocultação automática no qual ele foi posicionado quando o temporizador foi iniciado. Se estiver, o CAutoHideDockSite anexado será exibido.

Você pode controlar o comprimento do atraso do temporizador definindo m_nShowAHWndDelay. O valor padrão é 400 ms.

Exemplo

O exemplo a seguir demonstra como construir um objeto CMFCAutoHideBar e usar seu método GetDockSiteRow.

CMFCAutoHideBar *pParentBar = new CMFCAutoHideBar();
CDockingPanesRow *pParentRow = pParentBar->GetDockSiteRow();

Hierarquia de herança

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCAutoHideBar

Requisitos

Cabeçalho: afxautohidebar.h

CMFCAutoHideBar::AddAutoHideWindow

Adiciona funcionalidade a uma janela CDockablePane que a permite ocultar-se automaticamente.

CMFCAutoHideButton* AddAutoHideWindow(
    CDockablePane* pAutoHideWnd,
    DWORD dwAlignment);

Parâmetros

pAutoHideWnd
[in] A janela que você deseja ocultar.

dwAlignment
[in] Um valor que especifica o alinhamento do botão de ocultação automática com a janela do aplicativo.

Valor de retorno

Comentários

O parâmetro dwAlignment indica onde o botão de ocultamento automático reside no aplicativo. O parâmetro pode usar um dos valores a seguir:

  • CBRS_ALIGN_LEFT

  • CBRS_ALIGN_RIGHT

  • CBRS_ALIGN_TOP

  • CBRS_ALIGN_BOTTOM

CMFCAutoHideBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

Valor de retorno

Comentários

CMFCAutoHideBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parâmetros

[in] bStretch

[in] bHorz

Valor de retorno

Comentários

CMFCAutoHideBar::CMFCAutoHideBar

Constrói um objeto CMFCAutoHideBar.

CMFCAutoHideBar();

Comentários

CMFCAutoHideBar::Create

virtual BOOL Create(
    LPCTSTR lpszClassName,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
    CCreateContext* pContext = NULL);

Parâmetros

lpszClassName

dwStyle

rect

pParentWnd

Nid

dwControlBarStyle

pContext

Valor de retorno

Comentários

CMFCAutoHideBar::GetFirstAHWindow

Retorna um ponteiro para a primeira janela de ocultação automática no aplicativo.

CDockablePane* GetFirstAHWindow();

Valor de retorno

A primeira janela de ocultação automática no aplicativo ou NULL se não houver uma.

Comentários

CMFCAutoHideBar::GetVisibleCount

Obtém o número de botões visíveis de ocultação automática.

int GetVisibleCount();

Valor de retorno

Retorna o número de botões visíveis de ocultação automática.

Comentários

CMFCAutoHideBar::m_nShowAHWndDelay

O atraso de tempo entre o momento em que o usuário coloca o cursor do mouse sobre uma Classe CMFCAutoHideButton e o momento em que a estrutura mostra a janela associada.

int CMFCAutoHideBar::m_nShowAHWndDelay = 400;

Comentários

Quando o usuário coloca o cursor do mouse sobre um CMFCAutoHideButton, há um pequeno atraso antes de a estrutura exibir a janela associada. Esse parâmetro determina o comprimento desse atraso em milissegundos.

CMFCAutoHideBar::OnShowControlBarMenu

virtual BOOL OnShowControlBarMenu(CPoint);

Parâmetros

[in] CPoint

Valor de retorno

Comentários

CMFCAutoHideBar::RemoveAutoHideWindow

Remove e destrói a janela de ocultação automática.

    BOOL RemoveAutoHideWindow(CDockablePane* pAutoHideWnd);

Parâmetros

CDockablePane* pAutoHideWnd A janela de ocultação automática a ser removida.

Valor de retorno

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

CMFCAutoHideBar::SetActiveInGroup

Sinaliza uma barra de ocultação automática como ativa.

virtual void SetActiveInGroup(BOOL bActive);

Parâmetros

[in] BOOL bActive TRUE a ser definido como ativo; caso contrário, FALSE.

Comentários

Consulte CPane::SetActiveInGroup.

CMFCAutoHideBar::SetRecentVisibleState

void SetRecentVisibleState(BOOL bState);

Parâmetros

bState
[in] Estado a ser definido.

Comentários

CMFCAutoHideBar::ShowAutoHideWindow

Mostra a janela de ocultação automática.

BOOL ShowAutoHideWindow(
    CDockablePane* pAutoHideWnd,
    BOOL bShow,
    BOOL bDelay);

Parâmetros

pAutoHideWnd
[in] Janela a ser exibida.

bShow
[in] TRUE para mostrar a janela.

bDelay
[in] Esse parâmetro é ignorado.

Valor de retorno

TRUE se tiver êxito; caso contrário, FALSE.

Comentários

CMFCAutoHideBar::StretchPane

Redimensiona a barra de ocultação automática em seu estado recolhido para se ajustar ao objeto CMFCAutoHideButton.

virtual CSize StretchPane(
    int nLength,
    BOOL bVert);

Parâmetros

nLength
[in] O valor não é utilizado na implementação base. Em implementações derivadas, use esse valor para indicar o comprimento do painel redimensionado.

bVert
[in] O valor não é utilizado na implementação base. Em implementações derivadas, use TRUE para lidar com casos em que a barra de ocultação automática é recolhida verticalmente e FALSE para casos em que a barra de ocultação automática é recolhida horizontalmente.

Valor de retorno

O tamanho resultante do painel redimensionado.

Comentários

Classes derivadas podem substituir esse método para personalizar o comportamento.

CMFCAutoHideBar::UnSetAutoHideMode

Desabilita o modo de ocultação automática para um grupo de barras de ocultação automática.

void UnSetAutoHideMode(CDockablePane* pFirstBarInGroup)

Parâmetros

[in] pFirstBarInGroup Um ponteiro para a primeira barra de ocultação automática no grupo.

Comentários

CMFCAutoHideBar::UpdateVisibleState

Chamado pela estrutura quando a barra de ocultação automática precisa ser reexibida.

void UpdateVisibleState();

Comentários

Confira também

Gráfico da hierarquia
Classes
Classe CPane
Classe CAutoHideDockSite
Classe CMFCAutoHideButton