Classe CAutoHideDockSite
O CAutoHideDockSite
estende a classe CDockSite para implementar painéis de encaixe de ocultação automática.
Sintaxe
class CAutoHideDockSite : public CDockSite
Membros
Construtores públicos
Nome | Descrição |
---|---|
Nome | Descrição |
CAutoHideDockSite::CAutoHideDockSite |
Constrói um objeto CAutoHideDockSite . |
CAutoHideDockSite::~CAutoHideDockSite |
Destruidor. |
Métodos públicos
Nome | Descrição |
---|---|
Nome | Descrição |
CAutoHideDockSite::AllowShowOnPaneMenu |
Indica se CAutoHideDockSite é mostrado no menu do painel. |
CAutoHideDockSite::CanAcceptPane | Determina se um objeto de painel base é derivado da classe CMFCAutoHideBar. |
CAutoHideDockSite::DockPane | Encaixa um painel nesse objeto CAuotHideDockSite . |
CAutoHideDockSite::GetAlignRect | Recupera o tamanho do site de encaixe nas coordenadas da tela. |
CAutoHideDockSite::RepositionPanes | Redesenha o painel no CAutoHideDockSite com as margens globais e o espaçamento de botão. |
CAutoHideDockSite::SetOffsetLeft | Define a margem no lado esquerdo da barra de encaixe. |
CAutoHideDockSite::SetOffsetRight | Define a margem no lado direito da barra de encaixe. |
CAutoHideDockSite::UnSetAutoHideMode | Chama CMFCAutoHideBar::UnSetAutoHideMode para objetos no CAutoHideDockSite . |
Membros de dados
Nome | Descrição |
---|---|
Nome | Descrição |
CAutoHideDockSite::m_nExtraSpace | Define o tamanho do espaço entre as barras de ferramentas e a borda da barra de encaixe. Esse espaço é medido da borda esquerda ou da borda superior, dependendo do alinhamento do espaço de encaixe. |
Comentários
Quando você chama CFrameWndEx::EnableAutoHidePanes, a estrutura cria automaticamente um objeto CAutoHideDockSite
. Na maioria dos casos, você não precisará instanciar ou usar essa classe diretamente.
A barra de encaixe é a lacuna entre o lado esquerdo do painel de encaixe e o lado esquerdo da Classe CMFCAutoHideButton.
Hierarquia de herança
Exemplo
O exemplo a seguir demonstra como recuperar um objeto CAutoHideDockSite
de um objeto CMFCAutoHideBar
e como definir as margens esquerda e direita da barra de encaixe.
CAutoHideDockSite *pParentDockBar = DYNAMIC_DOWNCAST(CAutoHideDockSite, pParentBar->GetParentDockSite());
pParentDockBar->SetOffsetLeft(10);
pParentDockBar->SetOffsetRight(10);
Requisitos
Header: afxautohidedocksite.h
CAutoHideDockSite::CanAcceptPane
Determina se um painel base é um objeto CMFCAutoHideBar ou derivado de CMFCAutoHideBar
.
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Parâmetros
pBar
[in] O painel base que a estrutura testa.
Valor de retorno
TRUE se pBar for derivado de CMFCAutoHideBar
; caso contrário, FALSE.
Comentários
Se um objeto de painel base for derivado de CMFCAutoHideBar
, ele poderá conter um CAutoHideDockSite
.
CAutoHideDockSite::DockPane
Encaixa um painel neste objeto CAutoHideDockSite.
virtual void DockPane(
CPane* pWnd,
AFX_DOCK_METHOD dockMethod,
LPRECT lpRect = NULL);
Parâmetros
pWnd
[in] O painel que a estrutura encaixa.
dockMethod
[in] Opções de encaixe para o painel.
lpRect
[in] Um retângulo que especifica os limites do painel de encaixe.
Comentários
A implementação padrão não usa o parâmetro dockMethod, que é fornecido para uso futuro.
Se lpRect for NULL, a estrutura colocará o painel no local padrão no local de encaixe. Se o local de encaixe for horizontal, o local padrão será a extremidade esquerda do local de encaixe. Caso contrário, o local padrão será a parte superior do local de encaixe.
CAutoHideDockSite::GetAlignRect
Recupera o tamanho do site de encaixe nas coordenadas da tela.
void GetAlignRect(CRect& rect) const;
Parâmetros
rect
[in] Uma referência a um retângulo. O método armazena o tamanho do local de encaixe neste retângulo.
Comentários
O retângulo é ajustado para as margens de deslocamento para que elas não sejam incluídas.
CAutoHideDockSite::m_nExtraSpace
O tamanho do espaço entre as bordas da Classe CAutoHideDockSite e os objetos da Classe CMFCAutoHideBar.
static int m_nExtraSpace;
Comentários
Quando um CMFCAutoHideBar
está encaixado em um CAutoHideDockSite
, ele não deve ocupar todo o local de encaixe. Essa variável global controla o espaço extra entre a borda esquerda ou superior de CMFCAutoHideBar
e a borda de CAutoHideDockSite
correspondente. Se é a borda superior ou a borda esquerda que será usada depende do alinhamento atual.
CAutoHideDockSite::SetOffsetLeft
Define a margem no lado esquerdo da barra de encaixe.
void SetOffsetLeft(int nOffset);
Parâmetros
nOffset
[in] O novo deslocamento.
Comentários
Objetos CMFCAutoHideBar são posicionados estaticamente no objeto CAutoHideDockSite
. Isso significa que o usuário não pode alterar manualmente o local dos objetos CMFCAutoHideBar
. O método SetOffsetLeft
controla o espaçamento entre o lado esquerdo do CMFCAutoHideBar
mais à esquerda e o lado esquerdo do CAutoHideDockSite
.
CAutoHideDockSite::SetOffsetRight
Define a margem no lado direito da barra de encaixe.
void SetOffsetRight(int nOffset);
Parâmetros
nOffset
[in] O novo deslocamento.
Comentários
Objetos CMFCAutoHideBar são posicionados estaticamente no objeto CAutoHideDockSite
. Isso significa que o usuário não pode alterar manualmente o local dos objetos CMFCAutoHideBar
. O método SetOffsetRight
controla o espaçamento entre o lado direito do CMFCAutoHideBar
mais à direita e o lado direito do CAutoHideDockSite
.
CAutoHideDockSite::RepositionPanes
Redesenha os painéis no CAutoHideDockSite.
virtual void RepositionPanes(CRect& rectNewClientArea);
Parâmetros
rectNewClientArea
[in] Um valor reservado.
Comentários
A implementação padrão não usa rectNewClientArea. Ele redesenha os painéis com as margens da barra de ferramentas global e o espaçamento de botão.
CAutoHideDockSite::UnSetAutoHideMode
Chama CMFCAutoHideBar::UnSetAutoHideMode para objetos no local de encaixe.
void UnSetAutoHideMode(CMFCAutoHideBar* pAutoHideToolbar);
Parâmetros
pAutoHideToolbar
[in] Um ponteiro para um painel de objetos CMFCAutoHideBar localizado no CAutoHideDockSite
.
Comentários
Esse método pesquisa a linha que contém pAutoHideToolbar. Ele chama CMFCAutoHideBar.UnSetAutoHideMode
para todos os objetos CMFCAutoHideBar
nessa linha. Se pAutoHideToolbar não for encontrado ou for NULL, esse método chamará CMFCAutoHideBar.UnSetAutoHideMode
para todos os objetos CMFCAutoHideBar
no CAutoHideDockSite
.