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