Classe CPane

A classe CPane é um aprimoramento da classe CControlBar. Se você estiver atualizando um projeto MFC existente, substitua todas as ocorrências de CControlBar por CPane.

Sintaxe

class CPane : public CBasePane

Membros

Construtores públicos

Nome Descrição
CPane::~CPane Destruidor.

Métodos públicos

Nome Descrição
CPane::AdjustSizeImmediate Recalcula imediatamente o layout de um painel.
CPane::AllocElements Aloca armazenamento para uso interno.
CPane::AllowShowOnPaneMenu Especifica se o painel está relacionado na lista de painéis gerados por runtime para o aplicativo.
CPane::CalcAvailableSize Calcula a diferença de tamanho entre um retângulo especificado e o retângulo da janela atual.
CPane::CalcInsideRect Calcula o retângulo interno de um painel, levando em conta as bordas e as garras.
CPane::CalcRecentDockedRect Calcula o retângulo encaixado recentemente.
CPane::CalcSize Calcula o tamanho do painel.
CPane::CanBeDocked Determina se o painel pode ser encaixado no painel base especificado.
CPane::CanBeTabbedDocument Determina se o painel pode ser convertido em um documento com guias.
CPane::ConvertToTabbedDocument Converte um painel encaixável em um documento com guias.
CPane::CopyState Copia o estado de um painel. (Substitui CBasePane::CopyState.)
CPane::Create Cria uma barra de controle e a anexa ao objeto CPane.
CPane::CreateDefaultMiniframe Cria uma janela com minimoldura para um painel flutuante.
CPane::CreateEx Cria uma barra de controle e a anexa ao objeto CPane.
CPane::CreateObject Usado pela estrutura para criar uma instância dinâmica desse tipo de classe.
CPane::DockByMouse Encaixa um painel usando o método de encaixe do mouse.
CPane::DockPane Encaixa o painel flutuante em um painel base.
CPane::DockPaneStandard Encaixa um painel usando o encaixe de contorno (padrão).
CPane::DockToFrameWindow Encaixa um painel encaixável em um quadro. (Substitui CBasePane::DockToFrameWindow.)
CPane::DoesAllowSiblingBars Indica se você pode encaixar outro painel na mesma linha em que o painel atual está encaixado.
CPane::FloatPane Faz o painel flutuar.
CPane::GetAvailableExpandSize Retorna a quantidade, em pixels, que o painel pode expandir.
CPane::GetAvailableStretchSize Retorna a quantidade, em pixels, que o painel pode reduzir.
CPane::GetBorders Retorna a largura das bordas do painel.
CPane::GetClientHotSpot Retorna o ponto de acesso para o painel.
CPane::GetDockSiteRow Retorna a linha de encaixe na qual o painel está encaixado.
CPane::GetExclusiveRowMode Determina se o painel está no modo de linha exclusivo.
CPane::GetHotSpot Retorna o ponto de acesso que é armazenado em um objeto CMFCDragFrameImpl subjacente.
CPane::GetMinSize Recupera o tamanho mínimo permitido para o painel.
CPane::GetPaneName Recupera o título do painel.
CPane::GetResizeStep Usado internamente.
CPane::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CPane::GetVirtualRect Recupera o retângulo virtual do painel.
CPane::IsChangeState À medida que o painel é movido, esse método analisa a posição do painel em relação a outros painéis, linhas de encaixe e janelas com minimoldura e, em seguida, retorna o valor de AFX_CS_STATUS apropriado.
CPane::IsDragMode Especifica se o painel está sendo arrastado.
CPane::IsInFloatingMultiPaneFrameWnd Especifica se o painel está em uma janela de quadro com vários painéis. (Substitui CBasePane::IsInFloatingMultiPaneFrameWnd.)
CPane::IsLeftOf Determina se o painel está à esquerda (ou acima) do retângulo especificado.
CPane::IsResizable Determina se o painel pode ser redimensionado. (Substitui CBasePane::IsResizable.)
CPane::IsTabbed Determina se o painel foi inserido no controle guia de uma janela com guias. (Substitui CBasePane::IsTabbed.)
CPane::LoadState Carrega o estado do painel do Registro. (Substitui CBasePane::LoadState.)
CPane::MoveByAlignment Move o painel e o retângulo virtual pela quantidade especificada.
CPane::MovePane Move o painel para o retângulo especificado.
CPane::OnAfterChangeParent Chamado pela estrutura quando o pai de um painel foi alterado.
CPane::OnBeforeChangeParent Chamado pela estrutura quando o pai do painel está prestes a ser alterado.
CPane::OnPressCloseButton Chamado pela estrutura quando o usuário escolhe o botão Fechar na legenda do painel.
CPane::OnProcessDblClk Usado internamente.
CPane::OnShowControlBarMenu Chamado pela estrutura quando um menu de painel especial está prestes a ser exibido.
CPane::OnShowControlBarMenu Chamado pela estrutura quando um menu de painel especial está prestes a ser exibido.
CPane::PrepareToDock Usado internamente.
CPane::RecalcLayout Recalcula informações de layout do painel. (Substitui CBasePane::RecalcLayout.)
CPane::SaveState Salva o estado do painel no registro. (Substitui CBasePane::SaveState.)
CPane::SetActiveInGroup Sinaliza um painel como ativo.
CPane::SetBorders Define os valores de borda do painel.
CPane::SetClientHotSpot Define o ponto de acesso para o painel.
CPane::SetDockState Restaura as informações de estado de encaixe do painel.
CPane::SetExclusiveRowMode Habilita ou desabilita o modo de linha exclusivo.
CPane::SetMiniFrameRTC Define as informações de classe de runtime para a janela com minimoldura padrão.
CPane::SetMinSize Define o tamanho mínimo permitido para o painel.
CPane::SetVirtualRect Define o retângulo virtual do painel.
CPane::StretchPaneDeferWndPos Alonga o painel no sentido vertical ou horizontal com base no estilo de encaixe.
CPane::ToggleAutoHide Alterna o modo de ocultação automática.
CPane::UndockPane Remove o painel do local de encaixe, do controle deslizante padrão ou da janela com minimoldura em que ele está encaixado. (Substitui CBasePane::UndockPane.)
CPane::UpdateVirtualRect Atualiza o retângulo virtual.

Métodos protegidos

Nome Descrição
CPane::OnAfterDock Chamado pela estrutura quando um painel foi encaixado.
CPane::OnAfterFloat Chamado pela estrutura quando um painel flutuou.
CPane::OnBeforeDock Chamado pela estrutura quando um painel está prestes a ser encaixado.
CPane::OnBeforeFloat Chamado pela estrutura quando um painel está prestes a flutuado.

Membros de dados

Nome Descrição
CPane::m_bHandleMinSize Habilita a manipulação consistente do tamanho mínimo para painéis.
CPane::m_recentDockInfo Contém informações recentes de encaixe.

Comentários

Em geral, os objetos CPane não são instanciados diretamente. Se você precisar de um painel que tenha funcionalidade de encaixe, derive o objeto de CDockablePane. Se for necessária a funcionalidade da barra de ferramentas, derive o objeto de CMFCToolBar.

Quando você deriva uma classe de CPane, ela pode ser encaixada em um CDockSite e flutuada em um CPaneFrameWnd.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CBasePane

CPane

Requisitos

Cabeçalho: afxPane.h

CPane::AdjustSizeImmediate

Recalcula imediatamente o layout de um painel.

virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);

Parâmetros

bRecalcLayout
[in] TRUE para recalcular automaticamente o layout do painel; caso contrário, FALSE.

Comentários

Chame esse método quando você alterar dinamicamente o layout de um painel. Por exemplo, talvez você queira chamar esse método quando ocultar ou mostrar botões da barra de ferramentas.

CPane::AllocElements

Aloca armazenamento para uso interno.

BOOL AllocElements(
    int nElements,
    int cbElement);

Parâmetros

nElements
[in] O número de elementos para os quais alocar armazenamento.

cbElement
[in] O tamanho de um elemento, em bytes.

Valor de retorno

FALSE se a alocação de memória falhar; caso contrário, TRUE.

CPane::AllowShowOnPaneMenu

Especifica se o painel está relacionado na lista de painéis gerados por runtime para o aplicativo.

virtual BOOL AllowShowOnPaneMenu() const;

Valor de retorno

TRUE se o painel for exibido na lista; caso contrário, FALSE. A implementação base sempre retorna TRUE.

Comentários

O aplicativo gerado pelo Assistente de Aplicativo contém uma opção de menu que lista os painéis que ele contém. Esse método determina se o painel é exibido na lista.

CPane::CalcAvailableSize

Calcula a diferença de tamanho entre um retângulo especificado e o retângulo da janela atual.

virtual CSize CalcAvailableSize(CRect rectRequired);

Parâmetros

rectRequired
[in] O retângulo necessário.

Valor de retorno

A diferença de largura e altura entre rectRequired e o retângulo da janela atual.

CPane::CalcInsideRect

Calcula o retângulo interno de um painel, incluindo as bordas e as garras.

void CalcInsideRect(
    CRect& rect,
    BOOL bHorz) const;

Parâmetros

rect
[out] Contém o tamanho e o deslocamento da área de cliente do painel.

bHorz
[in] TRUE se o painel estiver encaixado horizontalmente; caso contrário, FALSE.

Comentários

Esse método é chamado pela estrutura quando precisa recalcular o layout de um painel. O parâmetro rect é preenchido com o tamanho e o deslocamento da área de cliente do painel. Isso inclui suas bordas e garras.

CPane::CalcRecentDockedRect

Calcula o retângulo encaixado recentemente.

void CalcRecentDockedRect();

Comentários

Esse método atualiza CPane::m_recentDockInfo.

CPane::CalcSize

Calcula o tamanho do painel.

virtual CSize CalcSize(BOOL bVertDock);

Parâmetros

bVertDock
[in] TRUE se o painel estiver sendo encaixado verticalmente; FALSE, caso contrário.

Valor de retorno

A implementação padrão desse método retorna um tamanho de (0, 0).

Comentários

Classes derivadas devem substituir esse método.

CPane::CanBeDocked

Determina se o painel pode ser encaixado no painel base especificado.

virtual BOOL CanBeDocked(CBasePane* pDockBar) const;

Parâmetros

pDockBar
[in] Especifica o painel em que esse painel deve ser encaixado.

Valor de retorno

TRUE se esse painel puder ser encaixado no painel de encaixe especificado; caso contrário, FALSE.

Comentários

Esse método geralmente é chamado pela estrutura para determinar se um painel pode ser encaixado no painel de encaixe especificado. Para determinar se o painel pode ser encaixado, o método avalia o alinhamento de encaixe atualmente habilitado do painel.

Você habilita o encaixe nos vários lados da janela com moldura chamando CBasePane::EnableDocking.

CPane::CanBeTabbedDocument

Determina se o painel pode ser convertido em um documento com guias.

virtual BOOL CanBeTabbedDocument() const;

Valor de retorno

TRUE se o painel puder ser convertido em um documento com guias; caso contrário, FALSE.

Comentários

Substitua esse método em uma classe derivada e retorne FALSE se você quiser impedir que um painel seja convertido em um documento com guias. Um documento com guias não será listado no menu Posição da Janela.

CPane::ConvertToTabbedDocument

Converte um painel encaixável em um documento com guias.

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

Parâmetros

bActiveTabOnly
[in] Não é usado em CPane::ConvertToTabbedDocument.

Comentários

Somente painéis encaixáveis podem ser convertidos em documentos com guias. Para saber mais, confira CDockablePane::ConvertToTabbedDocument.

CPane::CopyState

Copia o estado de um painel.

virtual void CopyState(CPane* pOrgBar);

Parâmetros

pOrgBar
[in] Um ponteiro para um painel.

Comentários

Esse método copia o estado de pOrgBar para o painel atual.

CPane::Create

Cria uma barra de controle e a anexa ao objeto CPane.

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
[in] Especifica o nome da classe de janela.

dwStyle
[in] Especifica os atributos de estilo de janela. Para obter mais informações, consulte Estilos de Janela.

rect
[in] Especifica o tamanho e a posição iniciais da janela pParentWnd, nas coordenadas de cliente.

pParentWnd
[in, out] Especifica a janela pai desse painel.

Nid
[in] Especifica a ID do painel.

dwControlBarStyle
[in] Especifica o estilo do painel. Para saber mais, confira CBasePane::CreateEx.

pContext
[in, out] Especifica o contexto de criação do painel.

Valor de retorno

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

Comentários

Esse método cria um painel do Windows e o anexa ao objeto CPane.

Se você não tiver inicializado explicitamente CPane::m_recentDockInfo antes de chamar Create, o parâmetro rect será usado como o retângulo ao flutuar ou encaixar o painel.

CPane::CreateDefaultMiniframe

Cria uma janela com minimoldura para um painel flutuante.

virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);

Parâmetros

rectInitial
[in] Especifica o tamanho e a posição iniciais, em coordenadas de tela, da janela com minimoldura a ser criada.

Valor de retorno

A janela com minimoldura recém-criada.

Comentários

Esse método é chamado pela estrutura para criar uma janela com minimoldura quando um painel é flutuado. A janela com minimoldura pode ser do tipo CPaneFrameWnd ou do tipo CMultiPaneFrameWnd. Uma janela com várias minimolduras será criada se o painel tiver o estilo AFX_CBRS_FLOAT_MULTI.

As informações de classe de runtime para a janela com minimoldura são armazenadas no membro CPane::m_pMiniFrameRTC. Você pode usar uma classe derivada para definir esse membro se decidir criar janelas com minimoldura personalizadas.

CPane::CreateEx

Cria uma barra de controle e a anexa ao objeto CPane.

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

Parâmetros

dwStyleEx
[in] Especifica os atributos de estilo de janela. Para saber mais, confira Estilos de janelas estendidas.

lpszClassName
[in] Especifica o nome da classe de janela.

dwStyle
[in] Especifica atributos de estilo de janela. Para obter mais informações, consulte Estilos de Janela.

rect
[in] Especifica o tamanho e a posição iniciais da janela pParentWnd, nas coordenadas de cliente.

pParentWnd
[in, out] Especifica a janela pai desse painel.

Nid
[in] Especifica a ID do painel.

dwControlBarStyle
[in] Especifica o estilo do painel. Para saber mais, confira CBasePane::CreateEx.

pContext
[in, out] Especifica o contexto de criação para o painel.

Valor de retorno

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

Comentários

Esse método cria um painel do Windows e o anexa ao objeto CPane.

Se você não tiver inicializado explicitamente CPane::m_recentDockInfo antes de chamar CreateEx, o parâmetro rect será usado como o retângulo ao flutuar ou encaixar o painel.

CPane::DockByMouse

Encaixa um painel usando o mouse.

virtual BOOL DockByMouse(CBasePane* pDockBar);

Parâmetros

pDockBar
[in] Especifica o painel base ao qual encaixar esse painel.

Valor de retorno

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

CPane::DockPane

Encaixa o painel flutuante em um painel base.

virtual BOOL DockPane(
    CBasePane* pDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Parâmetros

pDockBar
[in, out] Especifica o painel base ao qual encaixar esse painel.

lpRect
[in] Especifica o retângulo no painel base em que esse painel deve ser encaixado.

dockMethod
[in] Especifica o método de encaixe a ser usado. As opções disponíveis são as seguintes:

Opção Descrição
DM_UNKNOWN A estrutura usa essa opção quando o método de encaixe é desconhecido. O painel não armazena sua posição flutuante mais recente. Você também pode usar essa opção para encaixar programaticamente um painel quando não precisar armazenar a posição flutuante recente.
DM_MOUSE Usado internamente.
DM_DBL_CLICK Essa opção é usada quando a garra é clicada duas vezes. O painel é reposicionado em sua posição de encaixe mais recente. Se o painel estiver desencaixado clicando duas vezes, ele será reposicionado em sua posição flutuante mais recente.
DM_SHOW Essa opção pode ser usada para encaixar programaticamente o painel. O painel armazena sua posição flutuante mais recente.
DM_RECT O painel é encaixado na região especificada por lpRect.
DM_STANDARD Quando você usa essa opção, a estrutura desenha o painel como um quadro de contorno enquanto ele está sendo movido.

Valor de retorno

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

Comentários

Esse método encaixa o painel no painel base especificado pelo parâmetro pDockBar. Primeiro, você deve habilitar o encaixe chamando CBasePane::EnableDocking.

CPane::DockPaneStandard

Encaixa um painel usando o encaixe de contorno (padrão).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Parâmetros

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

Valor de retorno

Este método sempre retorna o ponteiro this.

Comentários

Esse método é usado apenas para painéis derivados da Classe CDockablePane. Para obter mais informações, consulte CDockablePane::D ockPaneStandard.

CPane::DockToFrameWindow

Encaixa um painel encaixável em um quadro.

virtual BOOL DockToFrameWindow(
    DWORD dwAlignment,
    LPCRECT lpRect = NULL,
    DWORD dwDockFlags = DT_DOCK_LAST,
    CBasePane* pRelativeBar = NULL,
    int nRelativeIndex = -1,
    BOOL bOuterEdge = FALSE);

Parâmetros

dwAlignment
[in] O lado do quadro pai ao qual você deseja encaixar o painel.

lpRect
[in] O tamanho especificado.

dwDockFlags
[in] Ignorado.

pRelativeBar
[in] Ignorado.

nRelativeIndex
[in] Ignorado.

bOuterEdge
[in] Se for TRUE e houver outros painéis encaixáveis no lado especificado por dwAlignment, o painel será encaixado fora dos outros painéis, mais perto da borda do quadro pai. Se for FALSE, o painel será encaixado mais perto do centro da área de cliente.

Valor de retorno

FALSE, se um divisor de painel (Classe CPaneDivider) não puder ser criado; caso contrário, TRUE.

Comentários

CPane::DoesAllowSiblingBars

Indica se você pode encaixar outro painel na mesma linha em que o painel atual está encaixado.

virtual BOOL DoesAllowSiblingBars() const;

Valor de retorno

TRUE se esse painel puder se encaixar em outro painel na mesma linha que ele próprio; caso contrário, FALSE.

Comentários

É possível habilitar ou desabilitar esse comportamento chamando CPane::SetExclusiveRowMode.

Por padrão, as barras de ferramentas têm o modo de linha exclusivo desabilitado e a barra de menus tem o modo de linha exclusivo habilitado.

CPane::FloatPane

Faz o painel flutuar.

virtual BOOL FloatPane(
    CRect rectFloat,
    AFX_DOCK_METHOD dockMethod = DM_UNKNOWN,
    bool bShow = true);

Parâmetros

rectFloat
[in] Especifica o local, em coordenadas de tela, para posicionar o painel quando ele é flutuado.

dockMethod
[in] Especifica o método de encaixe a ser usado quando o painel é flutuado. Para ver uma lista de valores possíveis, confira CPane::DockPane.

bShow
[in] TRUE para mostrar o painel quando flutuado; caso contrário, FALSE.

Valor de retorno

TRUE se o painel foi flutuado com êxito ou se o painel não pode ser flutuado porque CBasePane::CanFloat retorna FALSE; caso contrário, FALSE.

Comentários

Chame esse método para flutuar o painel na posição especificada pelo parâmetro rectFloat. Esse método cria automaticamente uma janela com minimoldura pai para o painel.

CPane::GetAvailableExpandSize

Retorna a quantidade, em pixels, que o painel pode expandir.

virtual int GetAvailableExpandSize() const;

Valor de retorno

Se o painel estiver encaixado horizontalmente, o valor retornado será a largura disponível; caso contrário, o valor retornado será a altura disponível.

Comentários

CPane::GetAvailableStretchSize

Retorna a quantidade, em pixels, que o painel pode reduzir.

virtual int GetAvailableStretchSize() const;

Valor de retorno

A quantidade, em pixels, que o painel pode reduzir. Se o painel estiver encaixado horizontalmente, esse valor será a largura disponível; caso contrário, será a altura disponível.

Comentários

O tamanho de alongamento disponível é calculado subtraindo o tamanho mínimo permitido para o painel (CPane::GetMinSize) do tamanho atual (CWnd::GetWindowRect).

CPane::GetBorders

Retorna a largura das bordas do painel.

CRect GetBorders() const;

Valor de retorno

Um objeto CRect que contém a largura atual, em pixels, de cada lado do painel. Por exemplo, o valor do membro left, do objeto CRect, é a largura da borda esquerda.

Comentários

Para definir o tamanho das bordas, chame CPane::SetBorders.

CPane::GetClientHotSpot

Retorna o ponto de acesso para o painel.

CPoint GetClientHotSpot() const;

Valor de retorno

Comentários

O ponto de acesso é o ponto no painel que o usuário seleciona e mantém selecionado para mover o painel. Um ponto de acesso é usado para animação suave quando o painel é movido de uma posição encaixada.

CPane::GetDockSiteRow

Retorna a linha do dock (Classe CDockingPanesRow) na qual o painel está encaixado.

CDockingPanesRow* GetDockSiteRow() const;

Valor de retorno

Um CDockingPanesRow* que aponta para a linha de encaixe na qual o painel está encaixado; ou NULL se o painel não estiver encaixado.

CPane::GetExclusiveRowMode

Determina se o painel está no modo de linha exclusivo.

virtual BOOL GetExclusiveRowMode() const;

Valor de retorno

TRUE se o painel estiver no modo de linha exclusivo; caso contrário, FALSE.

Comentários

Para obter mais informações sobre o modo de linha exclusivo, consulte CPane::SetExclusiveRowMode.

CPane::GetHotSpot

Retorna o ponto de acesso que é armazenado em um objeto CMFCDragFrameImpl subjacente.

CPoint GetHotSpot() const;

Valor de retorno

Comentários

A classe CPane contém um objeto CMFCDragFrameImpl, m_dragFrameImpl, que é responsável por desenhar o retângulo que aparece quando o usuário move um painel no modo de encaixe padrão. O ponto de acesso é usado para desenhar o retângulo em relação à posição atual do mouse à medida que o usuário move o painel.

CPane::GetMinSize

Recupera o tamanho mínimo permitido para o painel.

virtual void GetMinSize(CSize& size) const;

Parâmetros

size
[out] Um objeto CSize que é preenchido com o tamanho mínimo permitido.

Comentários

CPane::GetPaneName

Recupera o título do painel.

virtual void GetPaneName(CString& strName) const;

Parâmetros

strName
[out] Um objeto CString que é preenchido com o nome da legenda.

Comentários

O título do painel é exibido na área de legenda quando o painel está encaixado ou flutuando. Se o painel fizer parte de um grupo com guias, o título será exibido na área de guia. Se o painel estiver no modo de ocultamento automático, o título será exibido em um CMFCAutoHideButton.

CPane::GetVirtualRect

Recupera o retângulo virtual do painel.

void GetVirtualRect(CRect& rectVirtual) const;

Parâmetros

rectVirtual
[out] Um objeto CRect que é preenchido com o retângulo virtual.

Comentários

Quando um painel é movido, a estrutura armazena a posição original do painel em um retângulo virtual. A estrutura pode usar o retângulo virtual para restaurar a posição original do painel.

Não chame métodos relacionados a retângulos virtuais, a menos que você esteja movendo painéis programaticamente.

CPane::IsChangeState

À medida que o painel é movido, esse método analisa sua posição em relação a outros painéis, linhas de encaixe e janelas com minimoldura e, em seguida, retorna o valor de AFX_CS_STATUS apropriado.

virtual AFX_CS_STATUS IsChangeState(
    int nOffset,
    CBasePane** ppTargetBar) const;

Parâmetros

nOffset
[in] Especifica a sensibilidade de encaixe. Por exemplo, um painel movido dentro de nOffset pixels em uma linha do dock será encaixado.

ppTargetBar
[in] Quando o método retorna, ppTargetBar contém um ponteiro para o objeto ao qual o painel atual deve ser encaixado; ou NULL se nenhum encaixe deve ocorrer.

Valor de retorno

Um dos seguintes valores de AFX_CS_STATUS:

Valor Descrição
CS_NOTHING O painel não está perto de um local de encaixe. A estrutura não encaixa o painel.
CS_DOCK_IMMEDIATELY O painel está sobre um local de encaixe e o estilo DT_IMMEDIATE está habilitado. A estrutura encaixa o painel imediatamente.
CS_DELAY_DOCK O painel está sobre um local de encaixe que é outro painel de encaixe ou é uma borda do quadro principal. A estrutura encaixa o painel quando o usuário libera a movimentação.
CS_DELAY_DOCK_TO_TAB O painel está sobre um local de encaixe que faz com que o painel seja encaixado em uma janela com guias. Isso ocorre quando o painel está localizado sobre a legenda de outro painel de encaixe ou sobre a área de guia de um painel com guias. A estrutura encaixa o painel quando o usuário libera a movimentação.

CPane::IsDragMode

Especifica se o painel está sendo movido.

virtual BOOL IsDragMode() const;

Valor de retorno

TRUE se o painel estiver sendo movido; caso contrário, FALSE.

Comentários

CPane::IsInFloatingMultiPaneFrameWnd

Especifica se o painel está em uma janela de quadro de vários painéis (Classe CMultiPaneFrameWnd).

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

Valor de retorno

TRUE se o painel estiver em uma janela de quadro de vários painéis; caso contrário, FALSE.

Comentários

Somente painéis encaixáveis podem flutuar em uma janela de quadro de vários painéis. Portanto, CPane::IsInFloatingMultiPaneFrameWnd sempre retorna FALSE.

CPane::IsLeftOf

Determina se o painel está à esquerda (ou acima) do retângulo especificado.

bool IsLeftOf(
    CRect rect,
    bool bWindowRect = true) const;

Parâmetros

rect
[in] Um objeto CRect usado para comparação.

bWindowRect
[in] Se TRUE, será assumido que rect contém coordenadas de tela; se FALSE, será assumido que rect contém coordenadas de cliente.

Valor de retorno

Comentários

Se o painel for encaixado horizontalmente, esse método verificará se o local está à esquerda de rect. Caso contrário, esse método verifica se o local está acima de rect.

CPane::IsResizable

Especifica se o painel é redimensionável.

virtual BOOL IsResizable() const;

Valor de retorno

TRUE se o painel for redimensionável; caso contrário, FALSE.

Comentários

Objetos CPane base não são redimensionáveis.

O gerenciador de encaixe usa o sinalizador redimensionável para determinar o layout do painel. Painéis não redimensionáveis estão sempre localizados nas bordas externas do quadro pai.

Painéis não redimensionáveis não podem residir em contêineres de encaixe.

CPane::IsTabbed

Determina se o painel foi inserido no controle guia de uma janela com guias.

virtual BOOL IsTabbed() const;

Valor de retorno

TRUE se o painel estiver com guias; caso contrário, FALSE.

Comentários

O estado com guias é tratado separadamente dos estados flutuando, encaixado e de ocultação automática.

CPane::LoadState

Carrega o estado do painel do Registro.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT) -1);

Parâmetros

lpszProfileName
[in] Nome do perfil.

nIndex
[in] Índice do perfil.

uiID
[in] ID do painel.

Valor de retorno

TRUE se o estado do painel tiver sido carregado com êxito; caso contrário, FALSE.

Comentários

A estrutura chama esse método para carregar o estado do painel com base no registro. Substitua-o em uma classe derivada para carregar informações adicionais que são salvas por CPane::SaveState.

Ao substituir esse método, chame também o método base e retorne FALSE se o método base retornar FALSE.

CPane::m_bHandleMinSize

Habilita a manipulação consistente de tamanhos mínimos do painel.

AFX_IMPORT_DATA static BOOL m_bHandleMinSize;

Comentários

Se um ou mais painéis de encaixe em seu aplicativo substituírem GetMinSize, ou se o aplicativo chamar SetMinSize, convém definir esse membro estático como TRUE, a fim de habilitar a estrutura para lidar de maneira consistente com o dimensionamento dos painéis.

Se esse valor for definido como TRUE, todos os painéis cujo tamanho deveria ser reduzido abaixo do tamanho mínimo serão recortados, não estendidos. Como a estrutura usa regiões de janela para fins de dimensionamento de painel, não altere o tamanho da região da janela para painéis de encaixe se esse valor estiver definido como TRUE.

CPane::m_recentDockInfo

Contém informações recentes de encaixe.

CRecentDockSiteInfo m_recentDockInfo;

Comentários

A estrutura armazena as informações de estado de encaixe mais recentes para o painel neste membro.

CPane::MoveByAlignment

Move o painel e o retângulo virtual pela quantidade especificada.

BOOL MoveByAlignment(
    DWORD dwAlignment,
    int nOffset);

Parâmetros

dwAlignment
[in] Especifica o alinhamento do painel.

nOffset
[in] A quantidade, em pixels, pela qual mover o painel e o retângulo virtual.

Valor de retorno

Comentários

dwAlignment pode ser qualquer um dos seguintes valores:

Valor Descrição
CBRS_ALIGN_TOP Permite que o painel seja encaixado na parte superior da área de cliente de uma janela com moldura.
CBRS_ALIGN_BOTTOM Permite que o painel seja encaixado na parte inferior da área de cliente de uma janela com moldura.
CBRS_ALIGN_LEFT Permite que o painel seja encaixado no lado esquerdo da área de cliente de uma janela com moldura.
CBRS_ALIGN_RIGHT Permite que o painel seja encaixado no lado direito da área de cliente de uma janela com moldura.
CBRS_ALIGN_ANY Permite que o painel seja encaixado em qualquer lado da área de cliente de uma janela com moldura.

Se dwAlignment contiver o sinalizador CBRS_ALIGN_LEFT ou CBRS_ALIGN_RIGHT, o painel e o retângulo virtual serão movidos horizontalmente; se dwAlignment contiver o sinalizador CBRS_ALIGN_TOP ou CBRS_ALIGN_BOTTOM, o painel e o retângulo virtual serão movidos verticalmente.

CPane::MovePane

Move o painel para o retângulo especificado.

virtual CSize MovePane(
    CRect rectNew,
    BOOL bForceMove,
    HDWP& hdwp);

Parâmetros

rectNew
[in] Especifica o novo retângulo para o painel.

bForceMove
[in] Se TRUE, esse método ignorará o tamanho mínimo permitido do painel (CPane::GetMinSize); caso contrário, o painel será ajustado, se necessário, para garantir que ele seja pelo menos o tamanho mínimo permitido.

hdwp
[in] Não é usado.

Valor de retorno

Um objeto CSize que contém as diferenças de largura e altura entre os retângulos novos e antigos (retângulo antigo − rectNew).

Comentários

Esse método é usado apenas para painéis encaixáveis.

CPane::OnAfterChangeParent

Chamado pela estrutura quando o pai de um painel foi alterado.

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

Parâmetros

pWndOldParent
[in, out] A janela pai anterior do painel.

Comentários

Esse método é chamado pela estrutura quando o pai de um painel foi alterado devido a uma operação de encaixe ou flutuação.

CPane::OnAfterDock

Chamado pela estrutura quando um painel foi encaixado.

virtual void OnAfterDock(
    CBasePane* pBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Parâmetros

pBar
[in] Esse parâmetro não é usado.

lpRect
[in] Esse parâmetro não é usado.

dockMethod
[in] Esse parâmetro não é usado.

CPane::OnAfterFloat

Chamado pela estrutura após um painel flutuar.

virtual void OnAfterFloat();

Comentários

Você poderá substituir esse método em uma classe derivada se quiser executar qualquer processamento após o painel flutuar.

CPane::OnBeforeChangeParent

Chamado pela estrutura quando o pai do painel está prestes a ser alterado.

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay = FALSE);

Parâmetros

pWndNewParent
[in, out] Especifica a nova janela pai.

bDelay
[in] TRUE para atrasar o ajuste de layout de encaixe global; caso contrário, FALSE.

Comentários

Esse método é chamado pela estrutura quando o pai do painel está prestes a ser alterado porque o painel está sendo encaixado ou flutuado.

Por padrão, o painel não é registrado com o painel de encaixe chamando CDockSite::RemovePane.

CPane::OnBeforeDock

Chamado pela estrutura quando um painel está prestes a encaixar.

virtual BOOL OnBeforeDock(
    CBasePane** ppDockBar,
    LPCRECT lpRect,
    AFX_DOCK_METHOD dockMethod);

Parâmetros

ppDockBar
[in, out] Especifica o painel ao qual este painel está se encaixando.

lpRect
[in] Especifica o retângulo de encaixe.

dockMethod
[in] Especifica o método de encaixe.

Valor de retorno

TRUE se o painel puder ser encaixado. Se a função retornar FALSE, a operação de encaixe será anulada.

Comentários

Esse método é chamado pela estrutura quando um painel está prestes a ser encaixado. Você poderá substituir esse método em uma classe derivada se quiser executar qualquer processamento antes que um painel seja finalmente encaixado.

CPane::OnBeforeFloat

Chamado pela estrutura quando um painel está prestes a flutuar.

virtual BOOL OnBeforeFloat(
    CRect& rectFloat,
    AFX_DOCK_METHOD dockMethod);

Parâmetros

rectFloat
[in] Especifica a posição e o tamanho do painel quando ele está em um estado flutuante.

dockMethod
[in] Especifica o método de encaixe do painel.

Valor de retorno

TRUE se o painel puder ser flutuado; caso contrário, FALSE.

Comentários

Esse método é chamado pela estrutura quando um painel está prestes a flutuar. Você poderá substituir esse método em uma classe derivada se quiser executar qualquer processamento antes que o painel finalmente flutue.

CPane::OnPressCloseButton

Chamado pela estrutura quando o usuário pressiona o botão de fechar na legenda do painel.

virtual void OnPressCloseButton();

Comentários

Esse método é chamado pela estrutura quando um usuário pressiona o botão Fechar na legenda do painel. Para receber notificações sobre o evento Fechar, você pode substituir esse método em uma classe derivada.

CPane::OnShowControlBarMenu

Chamado pela estrutura quando um menu de painel especial está prestes a ser exibido.

virtual BOOL OnShowControlBarMenu(CPoint point);

Parâmetros

point
[in] Especifica o local do menu.

Valor de retorno

TRUE se o menu puder ser exibido; caso contrário, FALSE.

Comentários

O menu contém vários itens que permitem especificar o comportamento do painel, ou seja: Flutuante, Encaixe, Ocultar Automaticamente e Ocultar. Você pode habilitar esse menu para todos os painéis chamando CDockingManager::EnableDockSiteMenu.

CPane::RecalcLayout

Recalcula informações de layout do painel.

virtual void RecalcLayout();

Comentários

Se o painel estiver encaixado, esse método atualizará o retângulo virtual para o painel definindo seu tamanho como o tamanho atual do painel.

Se o painel estiver flutuando, esse método notificará a minimoldura pai para ajustar o tamanho do painel ao tamanho da minimoldura. A estrutura garante que a minimoldura seja pelo menos o tamanho mínimo permitido para o painel (CPane::GetMinSize) e redimensiona a minimoldura, se necessário.

CPane::SaveState

Salva o estado do painel no registro.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    int nIndex = -1,
    UINT uiID = (UINT) -1);

Parâmetros

lpszProfileName
[in] Nome do perfil.

nIndex
[in] Índice do perfil.

uiID
[in] ID do painel.

Valor de retorno

TRUE se o estado foi salvo com êxito; caso contrário, FALSE.

Comentários

A estrutura chama esse método quando salva o estado do painel no registro. Substitua SaveState em uma classe derivada para armazenar informações adicionais.

Ao substituir esse método, chame também o método base e retorne FALSE se o método base retornar FALSE.

CPane::SetActiveInGroup

Sinaliza um painel como ativo.

virtual void SetActiveInGroup(BOOL bActive);

Parâmetros

bActive
[in] Um BOOL que especifica se o painel está sinalizado como ativo.

Comentários

Quando um painel encaixável for mostrado ou um botão de ocultamento automático for escolhido, o painel de ocultamento automático correspondente será marcado como ativo.

A aparência de um botão de ocultamento automático associado ao painel baseia-se em dois fatores. Se o painel estiver ativo e static BOOL CMFCAutoHideButton::m_bOverlappingTabs for TRUE, a estrutura exibirá o botão de ocultamento automático como um ícone e um rótulo. Para um painel inativo, a estrutura exibirá apenas o ícone de ocultamento automático.

Se CMFCAutoHideButton::m_bOverlappingTabs for FALSE ou se o painel não estiver localizado em um grupo, a estrutura exibirá o botão de ocultamento automático associado como um ícone e um rótulo.

CPane::SetBorders

Define os valores de borda do painel.

void SetBorders(
    int cxLeft = 0,
    int cyTop = 0,
    int cxRight = 0,
    int cyBottom = 0);

void SetBorders(LPCRECT lpRect);

Parâmetros

cxLeft
[in] Especifica a largura, em pixels, da borda esquerda do painel.

cyTop
[in] Especifica a largura, em pixels, da borda superior do painel.

cxRight
[in] Especifica a largura, em pixels, da borda direita do painel.

cyBottom
[in] Especifica a largura, em pixels, da borda inferior do painel.

lpRect
Um objeto CRect que contém a largura, em pixels, de cada borda do painel.

Comentários

Chame essa função para definir as dimensões das bordas do painel.

CPane::SetClientHotSpot

Define o ponto de acesso para o painel.

void SetClientHotSpot(const CPoint& ptNew);

Parâmetros

ptNew
[in] Um objeto CPoint que especifica o novo ponto de acesso.

Comentários

O ponto de acesso é o ponto no painel que o usuário seleciona e mantém selecionado para mover o painel. Um ponto de acesso é usado para animação suave quando o painel é arrastado de uma posição encaixada.

CPane::SetDockState

Restaura as informações de estado de encaixe do painel.

virtual void SetDockState(CDockingManager* pDockManager);

Parâmetros

pDockManager
[in] Ponteiro para o gerenciador de encaixe para a janela com moldura principal.

Comentários

Esse método é chamado pela estrutura para restaurar informações recentes de estado de encaixe do painel. Um painel armazena informações recentes de estado de encaixe em CPane::m_recentDockInfo. Para saber mais, confira classe CRecentDockSiteInfo.

Você também pode chamar esse método para definir o estado de encaixe ao carregar informações do painel de uma origem externa.

CPane::SetExclusiveRowMode

Habilita ou desabilita o modo de linha exclusivo.

virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);

Parâmetros

bExclusive
[in] TRUE para habilitar o modo de linha exclusivo; caso contrário, FALSE.

Comentários

Chame esse método para habilitar ou desabilitar o modo de linha exclusivo. Quando um painel está no modo de linha exclusivo, ele não pode compartilhar a mesma linha com qualquer outra barra de ferramentas.

Por padrão, as barras de ferramentas têm o modo de linha exclusivo desabilitado e a barra de menus tem o modo de linha exclusivo habilitado.

CPane::SetMinSize

Define o tamanho mínimo permitido para o painel.

void SetMinSize(const CSize& size);

Parâmetros

size
[in] Um objeto CSize que contém o tamanho mínimo permitido para o painel.

Comentários

CPane::SetVirtualRect

Define o retângulo virtual do painel.

void SetVirtualRect(
    const CRect& rect,
    BOOL bMapToParent = TRUE);

Parâmetros

rect
[in] Um objeto CRect que especifica o retângulo virtual a ser definido.

bMapToParent
[in] Especifique TRUE se rect contiver pontos relativos à janela pai.

Comentários

Um retângulo virtual armazena a posição original de um painel quando ele é movido. A estrutura pode usar o retângulo virtual para restaurar a posição original do painel.

Não chame métodos relacionados a retângulos virtuais, a menos que você esteja movendo painéis programaticamente.

CPane::SetMiniFrameRTC

Define as informações de classe de runtime para a janela com minimoldura padrão.

void SetMiniFrameRTC(CRuntimeClass* pClass);

Parâmetros

pClass
[in, out] Especifica as informações de classe de runtime para a janela com minimoldura.

Comentários

Quando um painel é flutuado, ele é colocado em uma janela CPaneFrameWnd (minimoldura). Você pode fornecer uma classe derivada personalizada de CPaneFrameWnd que será usada quando CPane::CreateDefaultMiniframe for chamado.

CPane::StretchPaneDeferWndPos

Alonga o painel no sentido vertical ou horizontal com base no estilo de encaixe.

virtual int StretchPaneDeferWndPos(
    int nStretchSize,
    HDWP& hdwp);

Parâmetros

nStretchSize
[in] A quantidade, em pixels, para alongar o painel. Use um valor negativo para reduzir o painel.

hdwp
[in] Não é usado.

Valor de retorno

A quantidade real, em pixels, de que o painel foi alongado.

Comentários

Se necessário, esse método modifica nStretchSize para garantir que o painel não exceda os limites de tamanho. Esses limites são obtidos chamando CPane::GetAvailableStretchSize e CPane::GetAvailableExpandSize.

CPane::ToggleAutoHide

Alterna o modo de ocultação automática.

virtual void ToggleAutoHide();

Comentários

Chame esse método para alternar o modo de ocultamento automático. Um painel deve ser encaixado em uma janela de quadro principal para alternar para o modo de ocultamento automático.

CPane::UndockPane

Remove o painel do local de encaixe, do controle deslizante padrão ou da janela com minimoldura em que ele está encaixado.

virtual void UndockPane(BOOL bDelay = FALSE);

Parâmetros

bDelay
[in] Se FALSE, a estrutura chamará CBasePane::AdjustDockingLayout para ajustar o layout de encaixe.

Comentários

Use esse método para desencaixar programaticamente um painel.

CPane::UpdateVirtualRect

Atualiza o retângulo virtual.

void UpdateVirtualRect();
void UpdateVirtualRect(CPoint ptOffset);
void UpdateVirtualRect(CSize sizeNew);

Parâmetros

ptOffset
[in] Um objeto CPoint que especifica um deslocamento pelo qual deslocar o painel.

sizeNew
[in] Um objeto CSize que especifica um novo tamanho para o painel.

Comentários

A primeira sobrecarga define o retângulo virtual usando a posição e o tamanho atuais do painel.

A segunda sobrecarga desloca o retângulo virtual pela quantidade especificada por ptOffset.

A terceira sobrecarga define o retângulo virtual usando a posição atual do painel e o tamanho especificado por sizeNew.

Confira também

Gráfico da hierarquia
Classes
Classe CBasePane