Compartilhar via


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

Nome Descrição
CDockSite::AddRow
CDockSite::AdjustDockingLayout (Substitui CBasePane::AdjustDockingLayout.)
CDockSite::AdjustLayout (Substitui CBasePane::AdjustLayout.)
CDockSite::AlignDockSite
CDockSite::CalcFixedLayout (Substitui CBasePane::CalcFixedLayout.)
CDockSite::CanAcceptPane (Substitui CBasePane::CanAcceptPane.)
CDockSite::CreateEx (Substitui CBasePane::CreateEx.)
CDockSite::CreateRow
CDockSite::DockPane (Substitui CBasePane::UndockPane.)
CDockSite::DoesAllowDynInsertBefore (Substitui CBasePane::DoesAllowDynInsertBefore.)
CDockSite::FindRowIndex
CDockSite::FixupVirtualRects
CDockSite::GetDockSiteID
CDockSite::GetDockSiteRowsList
CDockSite::IsAccessibilityCompatible (Substitui CBasePane::IsAccessibilityCompatible.)
CDockSite::IsDragMode
CDockSite::IsLastRow
CDockSite::IsRectWithinDockSite
CDockSite::IsResizable (Substitui CBasePane::IsResizable.)
CDockSite::MovePane
CDockSite::OnInsertRow
CDockSite::OnRemoveRow
CDockSite::OnResizeRow
CDockSite::OnSetWindowPos
CDockSite::OnShowRow
CDockSite::OnSizeParent
CDockSite::PaneFromPoint Retorna um painel que está encaixado no local de encaixe no ponto especificado pelo parâmetro especificado.
CDockSite::DockPaneLeftOf Encaixa um painel à esquerda de outro painel.
CDockSite::FindPaneByID Retorna um painel identificado pela ID fornecida.
CDockSite::GetPaneList Retorna uma lista de painéis que estão encaixados no local de encaixe.
CDockSite::RectSideFromPoint
CDockSite::RemovePane
CDockSite::RemoveRow
CDockSite::ReplacePane
CDockSite::RepositionPanes
CDockSite::ResizeDockSite
CDockSite::ResizeRow
CDockSite::ShowPane Mostra o painel.
CDockSite::ShowRow
CDockSite::SwapRows

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 Devolução

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 Devolução

Comentários

CDockSite::CanAcceptPane

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

Parâmetros

[in] pBar

Valor de Devolução

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 Devolução

Comentários

CDockSite::CreateRow

virtual CDockingPanesRow* CreateRow(
    CDockSite* pParentDockBar,
    int nOffset,
    int nRowHeight);

Parâmetros

[in] pParentDockBar

[in] nOffset

[in] nRowHeight

Valor de Devolução

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 Devolução

TRUE se o painel foi encaixado com êxito; caso contrário, FALSE.

Comentários

CDockSite::DoesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

Valor de Devolução

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 Devolução

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 Devolução

Comentários

CDockSite::FixupVirtualRects

virtual void FixupVirtualRects();

Comentários

CDockSite::GetDockSiteID

virtual UINT GetDockSiteID() const;

Valor de Devolução

Comentários

CDockSite::GetDockSiteRowsList

const CObList& GetDockSiteRowsList() const;

Valor de Devolução

Comentários

CDockSite::GetPaneList

Retorna uma lista de painéis que estão encaixados no local de encaixe.

const CObList& GetPaneList() const;

Valor de Devolução

Uma referência somente leitura à lista de painéis atualmente encaixados na barra de encaixe.

CDockSite::IsAccessibilityCompatible

virtual BOOL IsAccessibilityCompatible();

Valor de Devolução

Comentários

CDockSite::IsDragMode

virtual BOOL IsDragMode() const;

Valor de Devolução

Comentários

CDockSite::IsLastRow

bool IsLastRow(CDockingPanesRow* pRow) const;

Parâmetros

[in] pRow

Valor de Devolução

Comentários

CDockSite::IsRectWithinDockSite

BOOL IsRectWithinDockSite(
    CRect rect,
    CPoint& ptDelta);

Parâmetros

[in] rect

[in] ptDelta

Valor de Devolução

Comentários

CDockSite::IsResizable

virtual BOOL IsResizable() const;

Valor de Devolução

Comentários

CDockSite::MovePane

virtual BOOL MovePane(
    CPane* pWnd,
    UINT nFlags,
    CPoint ptOffset);

Parâmetros

[in] pWnd

[in] nFlags

[in] ptOffset

Valor de Devolução

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 Devolução

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 Devolução

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 Devolução

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 Devolução

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 Devolução

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 Devolução

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 Devolução

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

Comentários

Confira também

Gráfico da hierarquia
Classes
Classe CBasePane