Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El administrador visual es un objeto que controla la apariencia de una aplicación completa. Actúa como una sola clase donde puede colocar todo el código de dibujo de la aplicación. La biblioteca MFC incluye varios administradores visuales. También puede crear su propio administrador visual si desea crear una vista personalizada para la aplicación. Las imágenes siguientes muestran la misma aplicación cuando se habilitan distintos administradores visuales:
MyApp que usa el administrador de objetos visuales CMFCVisualManagerWindows
MyApp que usa el administrador de objetos visuales CMFCVisualManagerVS2005
MyApp que usa el administrador visual CMFCVisualManagerOfficeXP
MyApp que usa el administrador visual CMFCVisualManagerOffice2003
MyApp que usa el administrador visual CMFCVisualManagerOffice2007
De forma predeterminada, el administrador visual mantiene el código de dibujo para varios elementos de gui. Para proporcionar elementos de interfaz de usuario personalizados, debe invalidar los métodos de dibujo relacionados del administrador visual. Para obtener la lista de estos métodos, vea CMFCVisualManager Class. Los métodos que puede invalidar para proporcionar una apariencia personalizada son todos los métodos que comienzan por OnDraw
.
La aplicación solo puede tener un CMFCVisualManager
objeto . Para obtener un puntero al administrador visual de la aplicación, llame a la función estática CMFCVisualManager::GetInstance. Dado que todos los administradores visuales heredan de CMFCVisualManager
, el CMFCVisualManager::GetInstance
método obtendrá un puntero al administrador visual adecuado, incluso si crea un administrador visual personalizado.
Si desea crear un administrador de objetos visuales personalizados, debe derivarlo de un administrador visual que ya existe. La clase predeterminada de la que se va a derivar es CMFCVisualManager
. Sin embargo, puede usar un administrador visual diferente si se parece mejor a lo que desea para la aplicación. Por ejemplo, si desea usar el CMFCVisualManagerOffice2007
administrador visual, pero solo quería cambiar el aspecto de los separadores, podría derivar la clase personalizada de CMFCVisualManagerOffice2007
. En este escenario, solo debe sobrescribir los métodos para los separadores de dibujo.
Hay dos maneras posibles de usar un administrador visual específico para la aplicación. Una manera es llamar al método CMFCVisualManager::SetDefaultManager y pasar el administrador visual adecuado como parámetro. En el ejemplo de código siguiente se muestra cómo usaría el CMFCVisualManagerVS2005
administrador visual con este método:
CMFCVisualManager::SetDefaultManager (RUNTIME_CLASS (CMFCVisualManagerVS2005));
La otra manera de usar un administrador visual en la aplicación es crearlo manualmente. A continuación, la aplicación usará este nuevo administrador de objetos visuales para toda la representación. Sin embargo, dado que solo puede haber un CMFCVisualManager
objeto por aplicación, tendrá que eliminar el administrador visual actual antes de crear uno nuevo. En el ejemplo siguiente, CMyVisualManager
es un administrador visual personalizado derivado de CMFCVisualManager
. El siguiente método cambiará el administrador visual que se usa para mostrar la aplicación, en función de un í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 también
Elementos de la interfaz de usuario
CMFCVisualManager (clase)