Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
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.