Partager via


Interface IApplicationDesignModeSettings2 (shobjidl_core.h)

Permet aux applications d’outils de développement de contrôler dynamiquement les états système et utilisateur, tels que la résolution d’affichage native, le facteur d’échelle des appareils et la disposition des vues d’application, signalés aux applications du Windows Store afin de tester les applications du Windows Store s’exécutant en mode Création pour un large éventail de facteurs de forme sans avoir besoin du matériel réel. Permet également de tester les modifications dans un état normalement contrôlé par l’utilisateur pour tester les applications du Windows Store dans divers scénarios.

Héritage

L’interface IApplicationDesignModeSettings2 hérite de IApplicationDesignModeSettings. IApplicationDesignModeSettings2 a également les types de membres suivants :

Méthodes

L’interface IApplicationDesignModeSettings2 utilise ces méthodes.

 
IApplicationDesignModeSettings2 ::GetApplicationSizeBounds

Cette méthode récupère les limites de taille prises en charge par l’application.
IApplicationDesignModeSettings2 ::GetApplicationViewOrientation

Obtient l’orientation de la fenêtre du mode création d’application.
IApplicationDesignModeSettings2 ::SetAdjacentDisplayEdges

Définit si la fenêtre d’application sera adjacente au bord de l’affichage émulé.
IApplicationDesignModeSettings2 ::SetApplicationViewMinWidth

Définit la largeur minimale souhaitée de la fenêtre du mode de création d’application.
IApplicationDesignModeSettings2 ::SetApplicationViewOrientation

Définit l’orientation de la fenêtre utilisée pour la fenêtre en mode création.
IApplicationDesignModeSettings2 ::SetIsOnLockScreen

Cette méthode détermine si l’application, en mode création, peut afficher des informations sur l’écran de verrouillage Windows 8.
IApplicationDesignModeSettings2 ::SetNativeDisplayOrientation

Définit l’orientation de l’affichage émulé pour la fenêtre en mode création.

Remarques

Cette interface est acquise en cocréant CLSID_ApplicationDesignModeSettings. Il s’agit d’une extension de l’interface IApplicationDesignModeSettings d’origine .

Exemples

Dans cet exemple, Visual Studio lance une application en mode création qui a remplacé la largeur minimale sur un affichage de taille 1366 x 768. Il active ensuite un contrôle de curseur qui permet à l’utilisateur de modifier dynamiquement la largeur des applications. Pour ce faire, elle doit utiliser les nouvelles API SetApplicationViewMinWidth et GetApplicationSizeBounds pour calculer les tailles minimales et maximales autorisées pour ce type d’application.

Pour plus d’informations sur IInitializeWithWindow ::Initialize, consultez Afficher les objets d’interface utilisateur WinRT qui dépendent 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);
    }
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8.1 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 R2 [applications de bureau uniquement]
Plateforme cible Windows
En-tête shobjidl_core.h (incluez Shobjidl.h)

Voir aussi

IApplicationDesignModeSettings