Partilhar via


Dicas de personalização para extensões do MFC

Este tópico fornece algumas dicas para personalizar seu aplicativo usando o Visual C++ 2008 Feature Pack. Isso não é uma lista completa de personalizações disponível com o Visual C++ 2008 Feature Pack, mas obterá você começar. O tópico também descreve as coisas que você deve considerar quando você usar alguns dos novos recursos.

Personalizações Geral

Você pode salvar e carregar o estado do seu aplicativo no registro.Quando você ativar essa opção, seu aplicativo carregará seu estado inicial do registro.Se você alterar o layout de ancoragem inicial para o seu aplicativo, você precisará desmarcar os dados do registro para o seu aplicativo.Caso contrário, os dados no registro serão substituir quaisquer alterações feitas no layout inicial.

Dicas de CBasePane

The Visual C++ 2008 Feature Pack apresenta o controle encaixáveis barras, conhecidas sistema autônomo painéis.As dicas de personalização a seguir tratam o Classe CBasePane e as classes que herdam dele:

  • Quando você criar um novo painel, você pode aplicar vários novos estilos:

    • AFX_CBRS_FLOAT -torna o painel float.

    • AFX_CBRS_AUTOHIDE -permite oculta automaticamente modo.

    • AFX_CBRS_CLOSE -painel pode ser fechado (oculto).

    Esses são os sinalizadores que você pode agrupar com uma operação OR bit a bit.

    CBasePane implementa os métodos a seguir, booliano virtual para refletir esses sinalizadores: CBasePane::CanBeClosed, CBasePane::CanAutoHide, CBasePane::CanFloat.Você pode substitui-las em classes derivadas para personalizar seu comportamento.

  • Você pode personalizar o comportamento de encaixe, substituindo CBasePane::CanAcceptPane. Com o painel retornar FALSE deste método para impedir que outro painel encaixe a ele.

  • Se você deseja criar um painel estático que não é possível float e que impede que qualquer Outros painel encaixe antes (semelhante à BAR do Outlook no exemplo OutlookDemo), crie-o sistema autônomo non-flutuante e substituir CBasePane::DoesAllowDynInsertBefore para retornar FALSE. A implementação padrão retorna FALSE Se o painel é criado sem AFX_CBRS_FLOAT estilo.

  • Crie todos os painéis com identificações diferente de -1.

  • Para determinar a visibilidade do painel, use CBasePane::IsVisible. Ele trata corretamente a visibilidade com guias e ocultar automaticamente modos de estado no.

  • Se desejar criar um painel redimensionável não flutuante, crie-lo sem AFX_CBRS_FLOAT estilo e a telefonar CFrameWnd::DockControlBar.

  • Para excluir um painel de um layout de encaixar ou remover uma BAR de ferramentas da BAR de encaixar, telefonar CBasePane::UndockPane. Não telefonar este método para painéis no modo de ocultação automática ou para painéis que residem nas guias das janelas com guias.

  • Se você deseja float ou desencaixar um painel que está no modo de ocultação automática, você deverá telefonar CDockablePane::SetAutoHideMode com FALSE sistema autônomo o primeiro argumento antes de você telefonar CBasePane::FloatPane ou CBasePane::UndockPane.

Personalizações do controle guia

The Visual C++ 2008 Feature Pack amplia a funcionalidade do controle guia. As dicas a seguir tratam o Classe CMFCBaseTabCtrl e as classes que herdam dele:

  • Se você habilitar guias removíveis, não mantenha ponteiros para as janelas com guias.Essas guias externos podem ser criados e destruídos dinamicamente.Portanto, ponteiros podem se tornar inválidos.

  • Você pode configurar o controle guia, de modo que os usuários possam mover guias dinamicamente em um controle guia com o mouse.Essa funcionalidade está embutida no CMFCBaseTabCtrl classe. Para habilitá-lo, chame CMFCBaseTabCtrl::EnableTabSwap.

  • Por padrão, as guias são removíveis quando você adicioná-los a um controle guia.Você também pode adicionar guias não removíveis usando CMFCBaseTabCtrl::AddTab. Se você conjunto o parâmetro bDetachable para FALSE, na guia não será removível. Você também pode alterar se as guias são removíveis chamando o método CMFCBaseTabCtrl::EnableTabDetach.

  • Todos os objetos que são obtidos com o Classe CWnd pode ser colocado em uma BAR de controle encaixáveis ou guia acoplável. Para o controle inteiro a ser ancorada, você deve fazer o CWnd objeto acoplável. Para fazer isso, a Visual C++ 2008 Feature Pack usa uma classe wrapper. Essa classe wrapper é o Classe CDockablePaneAdapter. Any CWnd objetos que são adicionados a uma BAR de controle encaixáveis ou guia encaixáveis irão ser dispostos dentro de um CDockablePaneAdapter objeto. Você pode desabilitar a quebra automático por configuração o parâmetro m_bEnableWrapping do seu CMFCBaseTablCtrl objeto para FALSE. Você também pode alterar qual classe o aplicativo usará sistema autônomo um wrapper, usando o método CMFCBaseTabCtrl::SetDockingBarWrapperRTC.

Dicas de CDockingManager

As dicas a seguir se aplicam a CDockingManager objetos:

Dicas de CDockablePane

As dicas a seguir se aplicam a CDockablePane objetos:

  • If you telefonar CDockablePane::AttachToTabWnd para dois painéis encaixáveis, com guias não, um ponteiro para uma janela com guias será retornado o ppTabbedControlBar parâmetro. Você pode continuar adicionando guias para a janela com guias usando esse parâmetro.

  • O tipo de painel com guias é criado por CDockablePane::AttachToTabWnd é determinado pela CDockablePane objeto na pTabControlBarAttachTo parâmetro. Você pode chamar CDockablePane::SetTabbedPaneRTC Para conjunto o tipo de painel com guias que o CDockablePane será criar. O tipo padrão é determinado pelo dwTabbedStyle de CDockablePane::criar Quando você cria pela primeira vez o CDockablePane. If dwTabbedStyle é o tipo padrão é AFX_CBRS_OUTLOOK_TABS Classe CMFCOutlookBar; Se dwTabbedStyle é o tipo padrão é AFX_CBRS_REGULAR_TABS Classe CTabbedPane.

  • Se você deseja encaixar um painel encaixável para outro, você telefonar o CDockablePane::DockToWindow método. O painel original deve ser encaixado em algum lugar antes de você telefonar esse método.

  • O membro variável CDockablePane::m_bHideInAutoHideMode controles como painéis encaixáveis se comportam em Ocultar Automaticamente modo quando você telefonar CDockablePane::ShowPane. Se essa variável de membro for definido como TRUE, painéis encaixáveis e seus botões de ocultar automaticamente ficará oculta. Caso contrário, eles serão deslize check-in e check-out.

  • Você pode desabilitar Ocultar Automaticamente animação definindo o CDockablePane::m_bDisableAnimation variável de membro para TRUE.

Consulte também

Conceitos

MFC recurso empacotar para o Visual C++ 2008