Partilhar via


Classe CPane

A CPane classe é 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á listado na lista de painéis gerada pelo tempo de execução 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 consideração as bordas e pinças.
CPane::CalcRecentDockedRect Calcula o retângulo recentemente encaixado.
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::Criar Cria uma barra de controle e a anexa ao objeto CPane.
CPane::CreateDefaultMiniframe Cria uma janela de miniquadro 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::D ockByMouse Encaixa um painel usando o método de encaixe do mouse.
CPane::D ockPane Encaixa o painel flutuante em um painel base.
CPane::D ockPaneStandard Encaixa um painel usando o encaixe de estrutura de tópicos (padrão).
CPane::D ockToFrameWindow Encaixa um painel encaixável em um quadro. (Substitui CBasePane::DockToFrameWindow.)
CPane::D oesAllowSiblingBars Indica se você pode encaixar outro painel na mesma linha em que o painel atual está encaixado.
CPane::FloatPane Flutua o painel.
CPane::GetAvailableExpandSize Devolve a quantidade, em píxeis, que o painel pode expandir.
CPane::GetAvailableStretchSize Devolve a quantidade, em píxeis, 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 do dock 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 armazenado em um objeto subjacente CMFCDragFrameImpl .
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 CRuntimeClass objeto que está associado a esse tipo de classe.
CPane::GetVirtualRect Recupera o retângulo virtual do painel.
CPane::IsChangeState À medida que o painel está sendo movido, esse método analisa a posição do painel em relação a outros painéis, linhas de doca e janelas de miniquadros e 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 de 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 de guia de uma janela com guias. (Substitui CBasePane::IsTabbed.)
CPane::LoadState Carrega o estado do painel a partir do registo. (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 mudar.
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::PrepareToDock Usado internamente.
CPane::RecalcLayout Recalcula as 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 para o painel.
CPane::SetExclusiveRowMode Ativa ou desativa o modo de linha exclusivo.
CPane::SetMiniFrameRTC Define as informações da classe de tempo de execução para a janela de miniquadro padrão.
CPane::SetMinSize Define o tamanho mínimo permitido para o painel.
CPane::SetVirtualRect Define o retângulo virtual do painel.
CPane::StretchPaneDeferWndPos Estende o painel vertical ou horizontalmente com base no estilo de encaixe.
CPane::ToggleAutoHide Alterna o modo de ocultação automática.
CPane::UndockPane Remove o painel do site do dock, do controle deslizante padrão ou da janela de miniquadro onde ele está encaixado no momento. (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 foi flutuado.
CPane::OnBeforeDock Chamado pela estrutura quando o painel está prestes a ser encaixado.
CPane::OnBeforeFloat Chamado pela estrutura quando um painel está prestes a ser flutuado.

Membros de dados

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

Observações

Normalmente, CPane os objetos não são instanciados diretamente. Se você precisar de um painel que tenha funcionalidade de encaixe, derive seu objeto de CDockablePane. Se você precisar da funcionalidade da barra de ferramentas, derive seu objeto de CMFCToolBar.

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

Hierarquia de herança

CObject

CCmdTarget

CWnd

CBasePane

CPane

Requerimentos

Cabeçalho: afxPane.h

CPane::AdjustSizeImmediate

Recalcula imediatamente o layout de um painel.

virtual void AdjustSizeImmediate(BOOL bRecalcLayout = TRUE);

Parâmetros

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

Observações

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

CPane::AllocElements

Aloca armazenamento para uso interno.

BOOL AllocElements(
    int nElements,
    int cbElement);

Parâmetros

nElementos
[em] O número de elementos para os quais alocar armazenamento.

cbElemento
[em] O tamanho, em bytes, de um elemento.

Valor de retorno

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

CPane::AllowShowOnPaneMenu

Especifica se o painel está listado na lista de painéis gerada pelo tempo de execução 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.

Observações

O aplicativo gerado pelo AppWizard 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

rectObrigatório
[em] O retângulo necessário.

Valor de retorno

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

CPane::CalcInsideRect

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

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

Parâmetros

retângulo
[saídas] Contém o tamanho e o deslocamento da área do cliente do painel.

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

Observações

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

CPane::CalcRecentDockedRect

Calcula o retângulo recentemente encaixado.

void CalcRecentDockedRect();

Observações

Este método atualiza CPane::m_recentDockInfo.

CPane::CalcSize

Calcula o tamanho do painel.

virtual CSize CalcSize(BOOL bVertDock);

Parâmetros

bVertDock
[em] 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).

Observações

As classes derivadas devem substituir este método.

CPane::CanBeDocked

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

virtual BOOL CanBeDocked(CBasePane* pDockBar) const;

Parâmetros

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

Valor de retorno

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

Observações

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 do quadro 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.

Observações

Substitua esse método em uma classe derivada e retorne FALSE se 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
[em] Não utilizado em CPane::ConvertToTabbedDocument.

Observações

Apenas os painéis encaixáveis podem ser convertidos em documentos com guias. Para obter informações, consulte CDockablePane::ConvertToTabbedDocument.

CPane::CopyState

Copia o estado de um painel.

virtual void CopyState(CPane* pOrgBar);

Parâmetros

pOrgBar
[em] Um ponteiro para um painel.

Observações

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

CPane::Criar

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
[em] Especifica o nome da classe Windows.

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

retângulo
[em] Especifica o tamanho inicial e a posição da janela pParentWnd , em coordenadas do cliente.

pParentWnd
[dentro, fora] Especifica a janela pai deste painel.

nID
[em] Especifica a ID do painel.

dwControlBarStyle
[em] Especifica o estilo do painel. Para obter mais informações, consulte CBasePane::CreateEx.

pContexto
[dentro, fora] Especifica o contexto de criação do painel.

Valor de retorno

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

Observações

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

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 de miniquadro para um painel flutuante.

virtual CPaneFrameWnd* CreateDefaultMiniframe(CRect rectInitial);

Parâmetros

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

Valor de retorno

A janela de mini-quadro recém-criada.

Observações

Esse método é chamado pela estrutura para criar uma janela de miniquadro quando um painel é flutuado. A janela de mini-quadro pode ser do tipo CPaneFrameWnd ou do tipo CMultiPaneFrameWnd. Uma janela de vários miniquadros é criada se o painel tiver o estilo AFX_CBRS_FLOAT_MULTI.

As informações da classe de tempo de execução para a janela de miniquadro são armazenadas no CPane::m_pMiniFrameRTC membro. Você pode usar uma classe derivada para definir esse membro se decidir criar janelas de miniquadros 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
[em] Especifica atributos de estilo de janela estendida. Para obter mais informações, consulte Estilos de janela estendidos.

lpszClassName
[em] Especifica o nome da classe Windows.

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

retângulo
[em] Especifica o tamanho inicial e a posição da janela pParentWnd , em coordenadas do cliente.

pParentWnd
[dentro, fora] Especifica a janela pai deste painel.

nID
[em] Especifica a ID do painel.

dwControlBarStyle
[em] Especifica o estilo do painel. Para obter mais informações, consulte CBasePane::CreateEx.

pContexto
[dentro, fora] Especifica o contexto de criação para o painel.

Valor de retorno

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

Observações

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

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::D ockByMouse

Encaixa um painel usando o mouse.

virtual BOOL DockByMouse(CBasePane* pDockBar);

Parâmetros

pDockBar
[em] Especifica o painel base ao qual este painel deve ser encaixado.

Valor de retorno

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

CPane::D ockPane

Encaixa o painel flutuante em um painel base.

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

Parâmetros

pDockBar
[dentro, fora] Especifica o painel base no qual este painel será encaixado.

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

dockMethod
[em] 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 for necessário armazenar a posição flutuante recente.
DM_MOUSE Usado internamente.
DM_DBL_CLICK Esta opção é usada quando a garra é clicada duas vezes. O painel é reposicionado na posição de ancoragem mais recente. Se o painel for desenencaixado clicando duas vezes, o painel será reposicionado na posição flutuante mais recente.
DM_SHOW Esta opção pode ser usada para encaixar programaticamente o painel. O painel armazena sua posição flutuante mais recente.
DM_RECT O painel está encaixado na região especificada por lpRect.
DM_STANDARD Quando você usa essa opção, a estrutura desenha o painel como um quadro de estrutura de tópicos enquanto ele está sendo movido.

Valor de retorno

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

Observações

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

CPane::D ockPaneStandard

Encaixa um painel usando o encaixe de estrutura de tópicos (padrão).

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

Parâmetros

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

Valor de retorno

Esse método sempre retorna o this ponteiro.

Observações

Esse método é usado somente para painéis que são derivados da classe CDockablePane. Para obter mais informações, consulte CDockablePane::D ockPaneStandard.

CPane::D ockToFrameWindow

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

dwAlinhamento
[em] O lado do quadro pai no qual você deseja encaixar o painel.

lpRect
[em] O tamanho especificado.

dwDockFlags
[em] Ignorado.

pRelativeBar
[em] Ignorado.

nRelativeIndex
[em] Ignorado.

bOuterEdge
[em] Se TRUE e houver outros painéis encaixáveis na lateral especificados por dwAlignment, o painel será encaixado fora dos outros painéis, mais perto da borda do quadro pai. Se FALSE, o painel é encaixado mais perto do centro da área do cliente.

Valor de retorno

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

Observações

CPane::D oesAllowSiblingBars

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 este painel puder encaixar em outro painel na mesma linha que ele; caso contrário, FALSE.

Observações

Você pode habilitar ou desabilitar esse comportamento chamando CPane::SetExclusiveRowMode.

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

CPane::FloatPane

Flutua o painel.

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

Parâmetros

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

dockMethod
[em] Especifica o método de encaixe a ser usado quando o painel é flutuado. Para obter uma lista de valores possíveis, consulte CPane::D ockPane.

bMostrar
[em] 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.

Observações

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

CPane::GetAvailableExpandSize

Devolve a quantidade, em píxeis, que o painel pode expandir.

virtual int GetAvailableExpandSize() const;

Valor de retorno

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

Observações

CPane::GetAvailableStretchSize

Devolve a quantidade, em píxeis, que o painel pode reduzir.

virtual int GetAvailableStretchSize() const;

Valor de retorno

A quantidade, em pixels, que o painel pode encolher. Se o painel estiver encaixado horizontalmente, essa quantidade é a largura disponível; caso contrário, é a altura disponível.

Observações

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 left valor do membro do CRect objeto é a largura da borda esquerda.

Observações

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

Observações

O ponto de acesso é o ponto no painel que o usuário seleciona e mantém 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 ( CDockingPanesRow Class) na qual o painel está encaixado.

CDockingPanesRow* GetDockSiteRow() const;

Valor de retorno

Um CDockingPanesRow* que aponta para a linha do dock 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.

Observações

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

CPane::GetHotSpot

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

CPoint GetHotSpot() const;

Valor de retorno

Observações

A CPane classe contém um CMFCDragFrameImpl objeto, 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

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

Observações

CPane::GetPaneName

Recupera o título do painel.

virtual void GetPaneName(CString& strName) const;

Parâmetros

strName [en]
[saídas] Um CString objeto que é preenchido com o nome da legenda.

Observações

O título do painel é exibido na área de legenda quando o painel está encaixado ou flutuante. Se o painel fizer parte de um grupo com separadores, o título é apresentado na área do separador. Se o painel estiver no modo de ocultação automática, o título será exibido em um CMFCAutoHideButtonarquivo .

CPane::GetVirtualRect

Recupera o retângulo virtual do painel.

void GetVirtualRect(CRect& rectVirtual) const;

Parâmetros

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

Observações

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 está sendo movido, esse método analisa sua posição em relação a outros painéis, linhas de doca e janelas de miniquadros e retorna o valor de AFX_CS_STATUS apropriado.

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

Parâmetros

nDeslocamento
[em] Especifica a sensibilidade de encaixe. Por exemplo, um painel que é movido dentro de pixels nOffset de uma linha de doca será encaixado.

ppTargetBar
[em] 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 AFX_CS_STATUS:

Valor Descrição
CS_NOTHING O painel não está perto de um local de doca. A estrutura não encaixa o painel.
CS_DOCK_IMMEDIATELY O painel está sobre um site de doca e o estilo DT_IMMEDIATE está habilitado. A estrutura encaixa o painel imediatamente.
CS_DELAY_DOCK O painel está sobre um local de doca 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 doca que faz com que o painel seja encaixado em uma janela com guias. Isso ocorre quando o painel está sobre a legenda de outro painel de encaixe ou sobre a área da 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.

Observações

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.

Observações

Apenas 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

retângulo
[em] Um CRect objeto que é usado para comparação.

bWindowRect
[em] Se TRUE, presume-se que rect contém coordenadas de tela; se FALSE, presume-se que rect contém coordenadas do cliente.

Valor de retorno

Observações

Se o painel estiver encaixado horizontalmente, esse método verificará se sua localização está à esquerda da retção. Caso contrário, esse método verifica se o local está acima do 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.

Observações

Os objetos base CPane não são redimensionáveis.

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

Os 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 de tabulação de uma janela com guias.

virtual BOOL IsTabbed() const;

Valor de retorno

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

Observações

O estado com guias é tratado separadamente dos estados flutuante, encaixado e ocultado automaticamente.

CPane::LoadState

Carrega o estado do painel a partir do registo.

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

Parâmetros

lpszProfileName
[em] Nome do perfil.

nÍndice
[em] Índice de perfil.

uiID
[em] ID do painel.

Valor de retorno

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

Observações

A estrutura chama esse método para carregar o estado do painel do Registro. Substitua-o em uma classe derivada para carregar informações adicionais salvas por CPane::SaveState.

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

CPane::m_bHandleMinSize

Permite a manipulação consistente de tamanhos mínimos de painéis.

AFX_IMPORT_DATA static BOOL m_bHandleMinSize;

Observações

Se um ou mais painéis de encaixe em seu aplicativo substituírem GetMinSizeou se seu aplicativo chamar SetMinSize, convém definir esse membro estático como TRUE para permitir que a estrutura manipule consistentemente como os painéis são dimensionados.

Se esse valor for definido como TRUE, todos os painéis cujo tamanho deve ser reduzido abaixo de seu tamanho mínimo serão cortados, não esticados. 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 de encaixe recentes.

CRecentDockSiteInfo m_recentDockInfo;

Observações

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

dwAlinhamento
[em] Especifica o alinhamento do painel.

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

Valor de retorno

Observações

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 do cliente de uma janela de quadro.
CBRS_ALIGN_BOTTOM Permite que o painel seja encaixado na parte inferior da área do cliente de uma janela de quadro.
CBRS_ALIGN_LEFT Permite que o painel seja encaixado no lado esquerdo da área do cliente de uma janela de quadro.
CBRS_ALIGN_RIGHT Permite que o painel seja encaixado no lado direito da área do cliente de uma janela de quadro.
CBRS_ALIGN_ANY Permite que o painel seja encaixado em qualquer lado da área do cliente de uma janela de quadro.

Se dwAlignment contiver o sinalizador CBRS_ALIGN_LEFT ou CBRS_ALIGN_RIGHT, o painel e o retângulo virtual serão movidos horizontalmente; caso contrário, 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

rectNovo
[em] Especifica o novo retângulo para o painel.

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

HDWP
[em] Não utilizado.

Valor de retorno

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

Observações

Este 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
[dentro, fora] A janela pai anterior do painel.

Observações

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

CPane::OnAfterDock

Chamado pela estrutura quando um painel foi encaixado.

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

Parâmetros

pBar
[em] Este parâmetro não é usado.

lpRect
[em] Este parâmetro não é usado.

dockMethod
[em] Este parâmetro não é usado.

CPane::OnAfterFloat

Chamado pela estrutura depois que um painel flutua.

virtual void OnAfterFloat();

Observações

Você pode substituir esse método em uma classe derivada se quiser executar qualquer processamento depois que um painel flutua.

CPane::OnBeforeChangeParent

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

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

Parâmetros

pWndNewParent
[dentro, fora] Especifica a nova janela pai.

bAtraso
[em] TRUE para atrasar o ajuste global do layout de encaixe; caso contrário, FALSE.

Observações

Esse método é chamado pela estrutura quando o pai do painel está prestes a mudar 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 o painel está prestes a atracar.

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

Parâmetros

ppDockBar
[dentro, fora] Especifica o painel no qual esse painel está encaixado.

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

dockMethod
[em] 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.

Observações

Esse método é chamado pela estrutura quando um painel está prestes a ser encaixado. Você pode 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
[em] Especifica a posição e o tamanho do painel quando ele está em um estado flutuante.

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

Valor de retorno

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

Observações

Esse método é chamado pela estrutura quando um painel está prestes a flutuar. Você pode 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 fechar na legenda do painel.

virtual void OnPressCloseButton();

Observações

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

ponto
[em] Especifica o local do menu.

Valor de retorno

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

Observações

O menu contém vários itens que permitem especificar o comportamento do painel, a saber: Flutuante, Docking, AutoHide, e Hide. Você pode habilitar esse menu para todos os painéis chamando CDockingManager::EnableDockSiteMenu.

CPane::RecalcLayout

Recalcula as informações de layout do painel.

virtual void RecalcLayout();

Observações

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

Se o painel estiver flutuando, esse método notificará o miniquadro pai para ajustar o tamanho do painel ao tamanho do miniquadro. A estrutura garante que o miniquadro seja pelo menos o tamanho mínimo permitido para o painel ( CPane::GetMinSize) e redimensiona o miniquadro, 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
[em] Nome do perfil.

nÍndice
[em] Índice de perfil.

uiID
[em] ID do painel.

Valor de retorno

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

Observações

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

Quando você substituir esse método, também chame 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

bAtivo
[em] Um BOOL que especifica se o painel está sinalizado como ativo.

Observações

Quando um painel encaixável é mostrado ou um botão de ocultação automática é escolhido, o painel de ocultação automática correspondente é marcado como ativo.

A aparência de um botão de ocultação automática associado ao painel é baseada em dois fatores. Se o painel estiver ativo e o static BOOL CMFCAutoHideButton::m_bOverlappingTabs for TRUE, a estrutura exibirá o botão de ocultação automática como um ícone e um rótulo. Para um painel inativo, a estrutura exibe apenas o ícone de ocultação automática.

Se CMFCAutoHideButton::m_bOverlappingTabs for FALSE ou se o painel não estiver localizado em um grupo, a estrutura exibirá o botão de ocultação automática 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

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

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

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

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

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

Observações

Chame essa função para definir os tamanhos das bordas do painel.

CPane::SetClientHotSpot

Define o ponto de acesso para o painel.

void SetClientHotSpot(const CPoint& ptNew);

Parâmetros

ptNovo
[em] Um CPoint objeto que especifica o novo ponto de acesso.

Observações

O ponto de acesso é o ponto no painel que o usuário seleciona e mantém 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 para o painel.

virtual void SetDockState(CDockingManager* pDockManager);

Parâmetros

pDockManager
[em] Ponteiro para o gerenciador de encaixe da janela do quadro principal.

Observações

Esse método é chamado pela estrutura para restaurar informações recentes de estado de encaixe para o painel. Um painel armazena informações recentes sobre o estado de encaixe em CPane::m_recentDockInfo. Para obter mais informações, consulte a classe CRecentDockSiteInfo.

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

CPane::SetExclusiveRowMode

Ativa ou desativa o modo de linha exclusivo.

virtual void SetExclusiveRowMode(BOOL bExclusive = TRUE);

Parâmetros

bExclusivo
[em] TRUE para ativar o modo de linha exclusivo; caso contrário, FALSE.

Observações

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 nenhuma outra barra de ferramentas.

Por padrão, todas as barras de ferramentas têm o modo de linha exclusivo desativado 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

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

Observações

CPane::SetVirtualRect

Define o retângulo virtual do painel.

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

Parâmetros

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

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

Observações

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.

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 da classe de tempo de execução para a janela de miniquadro padrão.

void SetMiniFrameRTC(CRuntimeClass* pClass);

Parâmetros

pClasse
[dentro, fora] Especifica as informações da classe de tempo de execução para a janela de miniquadro.

Observações

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

CPane::StretchPaneDeferWndPos

Estende o painel vertical ou horizontalmente com base no estilo de encaixe.

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

Parâmetros

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

HDWP
[em] Não utilizado.

Valor de retorno

A quantidade real, em pixels, que o painel foi esticado.

Observações

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();

Observações

Chame esse método para alternar o modo de ocultação automática. Um painel deve ser encaixado em uma janela de quadro principal para ser alternado para o modo de ocultação automática.

CPane::UndockPane

Remove o painel do site do dock, do controle deslizante padrão ou da janela de miniquadro onde ele está encaixado no momento.

virtual void UndockPane(BOOL bDelay = FALSE);

Parâmetros

bAtraso
[em] Se FALSE, a estrutura chama CBasePane::AdjustDockingLayout para ajustar o layout de encaixe.

Observações

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
[em] Um CPoint objeto que especifica um deslocamento pelo qual deslocar o painel.

tamanhoNovo
[em] Um CSize objeto que especifica um novo tamanho para o painel.

Observações

A primeira sobrecarga define o retângulo virtual usando a posição atual e o tamanho 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.

Ver também

Gráfico de hierarquia
Classes
Classe CBasePane