Compartir a través de


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)

Consulte también

IApplicationDesignModeSettings