Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O gerenciador visual é um objeto que controla a aparência de um aplicativo inteiro. Ele atua como uma única classe em que você pode colocar todo o código de desenho para seu aplicativo. A Biblioteca MFC inclui vários gerenciadores visuais. Você também pode criar seu próprio gerenciador visual se quiser criar uma exibição personalizada para seu aplicativo. As imagens a seguir mostram o mesmo aplicativo quando diferentes gerenciadores visuais estão habilitados:
MyApp que usa o gerenciador visual CMFCVisualManagerWindows
MyApp que usa o gerenciador visual CMFCVisualManagerVS2005
MyApp que usa o gerenciador visual CMFCVisualManagerOfficeXP
MyApp que usa o gerenciador visual CMFCVisualManagerOffice2003
MyApp que 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 interface do usuário, você precisa substituir os métodos de desenho relacionados do gerenciador visual. Para obter a lista desses métodos, consulte a 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 do aplicativo, chame a função estática CMFCVisualManager::GetInstance. Como todos os gerentes visuais herdam de CMFCVisualManager, o método CMFCVisualManager::GetInstance obterá um ponteiro para o gerenciador visual apropriado, mesmo se você criar um gerenciador visual personalizado.
Se você quiser criar um gerenciador de visuais personalizado, deverá derive-o de um gerenciador visual que já exista. A classe padrão da qual derivar é CMFCVisualManager. No entanto, você poderá usar um gerenciador visual diferente se ele for mais parecido com o que você deseja para seu aplicativo. Por exemplo, se você quisesse usar o CMFCVisualManagerOffice2007 gerenciador visual, mas quisesse apenas alterar a aparência dos separadores, poderia derivar sua classe personalizada.CMFCVisualManagerOffice2007 Nesse cenário, você deve substituir apenas os métodos para desenhar separadores.
Há duas maneiras possíveis de usar um gerenciador visual específico para seu aplicativo. Uma maneira é chamar o método CMFCVisualManager::SetDefaultManager e passar o gerenciador visual apropriado como um parâmetro. O exemplo de código a seguir mostra como você usaria o CMFCVisualManagerVS2005 gerenciador visual com este método:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
A outra maneira de usar um gerenciador visual em seu aplicativo é criá-lo manualmente. Em seguida, o aplicativo usará esse novo gerenciador de visuais para toda a renderização. No entanto, como pode haver apenas um CMFCVisualManager objeto por aplicativo, você precisará excluir o gerenciador visual atual antes de criar um novo. No exemplo a seguir, CMyVisualManager é um gerenciador de visuais personalizado derivado de CMFCVisualManager. O método a seguir alterará qual gerenciador visual é usado para exibir seu aplicativo, de acordo com 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();
}