Interfaz IApplicationDesignModeSettings2 (shobjidl_core.h)
Permite a las aplicaciones de herramientas de desarrollo controlar dinámicamente los estados del usuario y del sistema, como la resolución de pantalla nativa, el factor de escala de dispositivos y el diseño de la vista de la aplicación, notificados a las aplicaciones de la Tienda Windows con el fin de probar las aplicaciones de la Tienda Windows que se ejecutan en modo de diseño para una amplia gama de factores de forma sin necesidad del hardware real. También permite probar los cambios en estado controlado por el usuario normalmente para probar las aplicaciones de la Tienda Windows en una variedad de escenarios.
Herencia
La interfaz IApplicationDesignModeSettings2 hereda de IApplicationDesignModeSettings. IApplicationDesignModeSettings2 también tiene estos tipos de miembros:
Métodos
La interfaz IApplicationDesignModeSettings2 tiene estos métodos.
IApplicationDesignModeSettings2::GetApplicationSizeBounds Este método recupera los límites de tamaño admitidos por la aplicación. |
IApplicationDesignModeSettings2::GetApplicationViewOrientation Obtiene la orientación de la ventana del modo de diseño de la aplicación. |
IApplicationDesignModeSettings2::SetAdjacentDisplayEdges Establece si la ventana de la aplicación estará adyacente al borde de la pantalla emulada. |
IApplicationDesignModeSettings2::SetApplicationViewMinWidth Establece el ancho mínimo deseado de la ventana del modo de diseño de la aplicación. |
IApplicationDesignModeSettings2::SetApplicationViewOrientation Establece la orientación de la ventana usada para la ventana de modo de diseño. |
IApplicationDesignModeSettings2::SetIsOnLockScreen Este método determina si la aplicación, en modo de diseño, puede mostrar información en la pantalla de bloqueo de Windows 8. |
IApplicationDesignModeSettings2::SetNativeDisplayOrientation Establece la orientación de la pantalla emulada para la ventana de modo de diseño. |
Comentarios
Esta interfaz se adquiere mediante la creación conjunta de CLSID_ApplicationDesignModeSettings. Es una extensión de la interfaz IApplicationDesignModeSettings original.
Ejemplos
En este ejemplo, Visual Studio inicia una aplicación en modo de diseño que ha invalidado el ancho mínimo en una pantalla de tamaño 1366x768. A continuación, se habilita un control deslizante que permite al usuario cambiar dinámicamente el ancho de las aplicaciones. Para ello, debe usar las nuevas API SetApplicationViewMinWidth y GetApplicationSizeBounds para calcular los tamaños mínimos y máximos permitidos para este tipo de aplicación.
Para obtener más información sobre IInitializeWithWindow::Initialize, consulta Mostrar objetos de interfaz de usuario de WinRT que dependen de CoreWindow.
ComPtr<IApplicationDesignModeSettings> spDesignModeSettings;
// CoCreate the design mode settings object
HRESULT hr = CoCreateInstance(CLSID_ApplicationDesignModeSettings, nullptr, CLSCTX_INPROC, IID_PPV_ARGS(&spDesignModeSettings));
if (SUCCEEDED(hr))
{
ComPtr<IInitializeWithWindow> spInitializeWithWindow;
hr = pDesignModeSettings->QueryInterface(IID_PPV_ARGS(&spInitializeWithWindow);
if (SUCCEEDED(hr))
{
// Before we set any design mode state, we must first initialize the
// design mode settings object with a proxy core window. Since apps
// running in design mode don't have an actual core window, we must
// supply an HWND that can be used as a proxy.
hr = spInitializeWithWindow->Initialize(hwndProxyCoreWindow);
}
if (SUCCEEDED(hr))
{
// Set the native display size to 1366x768
SIZE sizeDisplay = {1366, 768};
hr = spDesignModeSettings->SetNativeDisplaySize(sizeDisplay);
if (SUCCEEDED(hr))
{
// Set the native display orientation to landscape
hr = spDesignModeSettings->SetNativeDisplayOrientation(NDO_LANDSCAPE);
if (SUCCEEDED(hr))
{
// Set the scale factor to 100%
DEVICE_SCALE_FACTOR scaleFactor = SCALE_100_PERCENT;
hr = spDesignModeSettings->SetScaleFactor(scaleFactor);
}
}
}
if (SUCCEEDED(hr))
{
// Override the app’s minimum width
hr = spDesignModeSettings->SetApplicationViewMinWidth(AVMW_320);
if (SUCCEEDED(hr))
{
SIZE sizeAppMin;
SIZE sizeAppMax;
hr = spDesignModeSettings->GetApplicationSizeBounds(&sizeAppMin, &sizeAppMax);
if (SUCCEEDED(hr))
{
// Push the min and max size to the slider control,
// to update the values that it maps to
…
// Start by sizing the app to its min bound, so compute the
// resulting view orientation
APPLICATION_VIEW_ORIENTATION viewOrientation;
hr = spDesignModeSettings->GetApplicationViewOrientation(sizeAppMin, &viewOrientation);
if (SUCCEEDED(hr))
{
// Set the app view orientation
hr = spDesignModeSettings->SetApplicationViewOrientation(viewOrientation);
}
}
}
}
if (SUCCEEDED(hr))
{
// Set the adjacent display edges so that the app is touching just the left edge of the screen
hr = spDesignModeSettings->SetAdjacentDisplayEdges(ADE_LEFT);
}
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 8.1 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2012 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shobjidl_core.h (incluya Shobjidl.h) |