O Gerenciador de visualização
O Gerenciador de visualização é introduzido para a biblioteca MFC pelo Visual C++ 2008 Feature Pack. O Gerenciador visual é um objeto que controla a aparência de um aplicativo inteiro.Ele age sistema autônomo uma única classe onde você pode colocar todo o código do desenho para seu aplicativo.A biblioteca MFC inclui vários gerentes visual.Você também pode criar seu próprio gerenciador visual para criar um modo de exibição personalizado para seu aplicativo.As imagens a seguir mostram o mesmo aplicativo quando diferentes gerenciadores visual estão habilitados:
MyApp usa o Gerenciador visual CMFCVisualManagerWindows
MyApp usa o Gerenciador visual CMFCVisualManagerVS2005
MyApp usa o Gerenciador visual CMFCVisualManagerOfficeXP
MyApp usa o Gerenciador visual CMFCVisualManagerOffice2003
MyApp usa o Gerenciador visual CMFCVisualManagerOffice2007
Por padrão, o Gerenciador visual mantém o código de desenho para vários elementos de GUI.Para fornecer elementos personalizados da IU, você precisará substituir os métodos de desenho relacionados do Gerenciador visual.Para obter uma lista desses métodos, consulte Classe CMFCVisualManager. Os métodos que você pode substituir para fornecer uma aparência personalizada são todos os métodos que começam com OnDraw.
Seu aplicativo pode ter apenas um CMFCVisualManager objeto. Para obter um ponteiro para o Gerenciador visual para seu aplicativo, telefonar estático a função CMFCVisualManager::GetInstance. Como todos os gerentes visual do CMFCVisualManager, o CMFCVisualManager::GetInstance método obterá um ponteiro para o Gerenciador visual apropriado, mesmo se você criar um gerenciador visual personalizado.
Se você desejar criar um gerenciador visual personalizado, você deve derivá-lo de um gerenciador visual que já existe.A classe padrão para derivar de é CMFCVisualManager. No entanto, você pode usar um gerente diferente visual se melhor lembra o que você deseja para seu aplicativo.Por exemplo, se você quiser usar o CMFCVisualManagerOffice2007 Gerenciador Visual, mas desejados somente para alterar a aparência dos separadores, você pode derivar sua classe personalizada de CMFCVisualManagerOffice2007. Nesse cenário, você deve substituir apenas os métodos de desenho separadores.
Há duas maneiras possíveis de usar um gerenciador visual específico para seu aplicativo.Uma maneira é chamar o CMFCVisualManager::SetDefaultManager método e passar gerenciador visual sistema autônomo um parâmetro. O exemplo de código a seguir mostra como você usaria o CMFCVisualManagerVS2005 Gerenciador Visual com esse método:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
A Outros maneira de usar um gerenciador visual em seu aplicativo é criá-lo manualmente.O aplicativo, em seguida, usará este novo gerenciador visual para todo o renderização.No entanto, como pode haver apenas um CMFCVisualManager objeto por aplicativo, você terá que excluir o corrente gerenciador visual antes de criar um novo. No exemplo a seguir, CMyVisualManager é um gerenciador visual personalizado derivada de CMFCVisualManager. O método a seguir será alterado o Gerenciador visual é usado para exibir seu aplicativo, dependendo de um índice:
void CMyApp::SetSkin (int index)
{
if (CMFCVisualManager::GetInstance() != NULL)
{
delete CMFCVisualManager::GetInstance();
}
switch (index)
{
case DEFAULT_STYLE:
// The following statement creates a new CMFCVisualManager
CMFCVisualManager::GetInstance();
break;
case CUSTOM_STYLE:
new CMyVisualManager;
break;
default:
CMFCVisualManager::GetInstance();
break;
}
CMFCVisualManager::GetInstance()->RedrawAll();
}
Consulte também
Conceitos
MFC recurso empacotar para o Visual C++ 2008