Classe CDockSite
Para obter mais detalhes, confira o código-fonte localizado na pasta VC\atlmfc\src\mfc de sua instalação do Visual Studio.
Fornece funcionalidade para organizar painéis derivados da Classe CPane em conjuntos de linhas.
Sintaxe
class CDockSite: public CBasePane
Membros
Métodos públicos
Comentários
A estrutura cria objetos CDockSite
automaticamente quando você chama CFrameWndEx::EnableDocking. As janelas do local de encaixe estão posicionadas na borda da área do cliente na janela de quadro principal.
Normalmente, você não precisa chamar os serviços fornecidos pelo local de encaixe porque a classe CFrameWndEx lida com esses serviços.
Exemplo
O exemplo a seguir demonstra como criar um objeto da classe CDockSite
.
AFX_DOCKSITE_INFO info;
CDockSite *pDockBar = (CDockSite*)info.pDockBarRTC->CreateObject();
Hierarquia de herança
CObject
└ CCmdTarget
└ CWnd
└ CBasePane
└ CDockSite
Requisitos
Cabeçalho: afxDockSite.h
CDockSite::AddRow
CDockingPanesRow* AddRow(
POSITION pos,
int nHeight);
Parâmetros
[in] pos
[in] nHeight
Valor de retorno
Comentários
CDockSite::AdjustDockingLayout
virtual void AdjustDockingLayout();
Comentários
CDockSite::AdjustLayout
virtual void AdjustLayout();
Comentários
CDockSite::AlignDockSite
void AlignDockSite(
const CRect& rectToAlignBy,
CRect& rectResult,
BOOL bMoveImmediately);
Parâmetros
[in] rectToAlignBy
[in] rectResult
[in] bMoveImmediately
Comentários
CDockSite::CalcFixedLayout
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parâmetros
[in] bStretch
[in] bHorz
Valor de retorno
Comentários
CDockSite::CanAcceptPane
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
Parâmetros
[in] pBar
Valor de retorno
Comentários
CDockSite::CreateEx
virtual BOOL CreateEx(
DWORD dwStyleEx,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
DWORD dwControlBarStyle,
CCreateContext* pContext = NULL);
Parâmetros
[in] dwStyleEx
[in] dwStyle
[in] rect
[in] pParentWnd
[in] dwControlBarStyle
[in] pContext
Valor de retorno
Comentários
CDockSite::CreateRow
virtual CDockingPanesRow* CreateRow(
CDockSite* pParentDockBar,
int nOffset,
int nRowHeight);
Parâmetros
[in] pParentDockBar
[in] nOffset
[in] nRowHeight
Valor de retorno
Comentários
CDockSite::DockPane
virtual void DockPane(
CPane* pWnd,
AFX_DOCK_METHOD dockMethod,
LPCRECT lpRect = NULL);
Parâmetros
[in] pWnd
[in] dockMethod
[in] lpRect
Comentários
CDockSite::DockPaneLeftOf
Encaixa um painel à esquerda de outro painel.
virtual BOOL DockPaneLeftOf(
CPane* pBarToDock,
CPane* pTargetBar);
Parâmetros
pBarToDock
[in, out] Um ponteiro para o painel a ser encaixado à esquerda de pTargetBar.
pTargetBar
[in, out] Um ponteiro para o painel de destino.
Valor de retorno
TRUE se o painel foi encaixado com êxito; caso contrário, FALSE.
Comentários
CDockSite::DoesAllowDynInsertBefore
virtual BOOL DoesAllowDynInsertBefore() const;
Valor de retorno
Comentários
CDockSite::FindPaneByID
Retorna o painel com a ID fornecida.
CPane* FindPaneByID(UINT nID);
Parâmetros
Nid
[in] A ID de comando do painel a ser encontrado.
Valor de retorno
Um ponteiro para o painel com a ID de comando especificada, ou NULL se o painel não for encontrado.
Comentários
CDockSite::FindRowIndex
int FindRowIndex(CDockingPanesRow* pRow);
Parâmetros
[in] pRow
Valor de retorno
Comentários
CDockSite::FixupVirtualRects
virtual void FixupVirtualRects();
Comentários
CDockSite::GetDockSiteID
virtual UINT GetDockSiteID() const;
Valor de retorno
Comentários
CDockSite::GetDockSiteRowsList
const CObList& GetDockSiteRowsList() const;
Valor de retorno
Comentários
CDockSite::GetPaneList
Retorna uma lista de painéis que estão encaixados no local de encaixe.
const CObList& GetPaneList() const;
Valor de retorno
Uma referência somente leitura à lista de painéis atualmente encaixados na barra de encaixe.
CDockSite::IsAccessibilityCompatible
virtual BOOL IsAccessibilityCompatible();
Valor de retorno
Comentários
CDockSite::IsDragMode
virtual BOOL IsDragMode() const;
Valor de retorno
Comentários
CDockSite::IsLastRow
bool IsLastRow(CDockingPanesRow* pRow) const;
Parâmetros
[in] pRow
Valor de retorno
Comentários
CDockSite::IsRectWithinDockSite
BOOL IsRectWithinDockSite(
CRect rect,
CPoint& ptDelta);
Parâmetros
[in] rect
[in] ptDelta
Valor de retorno
Comentários
CDockSite::IsResizable
virtual BOOL IsResizable() const;
Valor de retorno
Comentários
CDockSite::MovePane
virtual BOOL MovePane(
CPane* pWnd,
UINT nFlags,
CPoint ptOffset);
Parâmetros
[in] pWnd
[in] nFlags
[in] ptOffset
Valor de retorno
Comentários
CDockSite::OnInsertRow
virtual void OnInsertRow(POSITION pos);
Parâmetros
[in] pos
Comentários
CDockSite::OnRemoveRow
virtual void OnRemoveRow(
POSITION pos,
BOOL bByShow = FALSE);
Parâmetros
[in] pos
[in] bByShow
Comentários
CDockSite::OnResizeRow
virtual int OnResizeRow(
CDockingPanesRow* pRowToResize,
int nOffset);
Parâmetros
[in] pRowToResize
[in] nOffset
Valor de retorno
Comentários
CDockSite::OnSizeParent
virtual void OnSizeParent(
CRect& rectAvailable,
UINT nSide,
BOOL bExpand,
int nOffset);
Parâmetros
[in] rectAvailable
[in] nSide
[in] bExpand
[in] nOffset
Comentários
CDockSite::OnSetWindowPos
virtual BOOL OnSetWindowPos(
const CWnd* pWndInsertAfter,
const CRect& rectWnd,
UINT nFlags);
Parâmetros
[in] pWndInsertAfter
[in] rectWnd
[in] nFlags
Valor de retorno
Comentários
CDockSite::OnShowRow
virtual void OnShowRow(
POSITION pos,
BOOL bShow);
Parâmetros
[in] pos
[in] bShow
Comentários
CDockSite::PaneFromPoint
Retorna um painel que está encaixado no local de encaixe no ponto especificado pelo parâmetro especificado.
virtual CPane* PaneFromPoint(CPoint pt);
Parâmetros
pt
[in] Um ponto, em coordenadas de tela, a ser recuperado pelo painel.
Valor de retorno
Um ponteiro para o painel localizado no ponto especificado, ou NULL se nenhum painel estiver presente no ponto especificado.
Comentários
CDockSite::RectSideFromPoint
static int __stdcall RectSideFromPoint(
const CRect& rect,
const CPoint& point);
Parâmetros
[in] rect
[in] point
Valor de retorno
Comentários
CDockSite::RemovePane
virtual void RemovePane(
CPane* pWnd,
AFX_DOCK_METHOD dockMethod);
Parâmetros
[in] pWnd
[in] dockMethod
Comentários
CDockSite::RemoveRow
void RemoveRow(CDockingPanesRow* pRow);
Parâmetros
[in] pRow
Comentários
CDockSite::ReplacePane
BOOL ReplacePane(
CPane* pOldBar,
CPane* pNewBar);
Parâmetros
[in] pOldBar
[in] pNewBar
Valor de retorno
Comentários
CDockSite::RepositionPanes
virtual void RepositionPanes(CRect& rectNewClientArea);
Parâmetros
[in] rectNewClientArea
Comentários
CDockSite::ResizeDockSite
void ResizeDockSite(
int nNewWidth,
int nNewHeight);
Parâmetros
[in] nNewWidth
[in] nNewHeight
Comentários
CDockSite::ResizeRow
int ResizeRow(
CDockingPanesRow* pRow,
int nNewSize,
BOOL bAdjustLayout = TRUE);
Parâmetros
[in] pRow
[in] nNewSize
[in] bAdjustLayout
Valor de retorno
Comentários
CDockSite::ShowPane
Mostra o painel.
virtual BOOL ShowPane(
CBasePane* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
Parâmetros
pBar
[in, out] Um ponteiro para o painel que será mostrado ou ocultado.
bShow
[in] TRUE para especificar que o painel deve ser mostrado; FALSE para especificar que o painel deve estar oculto.
bDelay
[in] TRUE para especificar que o layout do painel deve ser adiado até depois que o painel for mostrado; caso contrário, FALSE.
bActivate
[in] Esse parâmetro não é usado.
Valor de retorno
TRUE se o painel foi mostrado ou oculto com êxito. FALSE se o painel especificado não pertence a este local de encaixe.
Comentários
Chame esse método para mostrar ou ocultar os painéis encaixados. Normalmente, você não precisa chamar CDockSite::ShowPane
diretamente, pois ela é chamada pela janela do quadro pai ou pelo painel base.
CDockSite::ShowRow
void ShowRow(
CDockingPanesRow* pRow,
BOOL bShow,
BOOL bAdjustLayout);
Parâmetros
[in] pRow
[in] bShow
[in] bAdjustLayout
Comentários
CDockSite::SwapRows
void SwapRows(
CDockingPanesRow* pFirstRow,
CDockingPanesRow* pSecondRow);
Parâmetros
[in] pFirstRow
[in] pSecondRow