IApplicationDesignModeSettings2-Schnittstelle (shobjidl_core.h)

Ermöglicht Entwicklungstoolsanwendungen die dynamische Steuerung von System- und Benutzerzuständen, z. B. native Anzeigeauflösung, Geräteskalierungsfaktor und Anwendungsansichtslayout, die an Windows Store-Apps gemeldet werden, um Windows Store-Apps zu testen, die im Entwurfsmodus ausgeführt werden, auf eine Vielzahl von Formfaktoren ohne die tatsächliche Hardware zu testen. Ermöglicht auch das Testen von Änderungen im normal vom Benutzer gesteuerten Zustand, um Windows Store-Apps in einer Vielzahl von Szenarien zu testen.

Vererbung

Die IApplicationDesignModeSettings2-Schnittstelle erbt von IApplicationDesignModeSettings. IApplicationDesignModeSettings2 verfügt auch über folgende Membertypen:

Methoden

Die IApplicationDesignModeSettings2-Schnittstelle verfügt über diese Methoden.

 
IApplicationDesignModeSettings2::GetApplicationSizeBounds

Diese Methode ruft die größengrenzen ab, die von der Anwendung unterstützt werden.
IApplicationDesignModeSettings2::GetApplicationViewOrientation

Ruft die Ausrichtung des Anwendungsentwurfsmodusfensters ab.
IApplicationDesignModeSettings2::SetAdjacentDisplayEdges

Legt fest, ob das Anwendungsfenster an den Rand der emulierten Anzeige angrenzt.
IApplicationDesignModeSettings2::SetApplicationViewMinWidth

Legt die gewünschte Mindestbreite des Anwendungsentwurfsmodusfensters fest.
IApplicationDesignModeSettings2::SetApplicationViewOrientation

Legt die Für das Entwurfsmodusfenster verwendete Fensterausrichtung fest.
IApplicationDesignModeSettings2::SetIsOnLockScreen

Diese Methode bestimmt, ob die Anwendung im Entwurfsmodus Informationen auf dem Windows 8 Sperrbildschirm anzeigen kann.
IApplicationDesignModeSettings2::SetNativeDisplayOrientation

Legt die Ausrichtung der emulierten Anzeige für das Entwurfsmodusfenster fest.

Hinweise

Diese Schnittstelle wird durch Cocreating CLSID_ApplicationDesignModeSettings abgerufen. Es ist eine Erweiterung der ursprünglichen IApplicationDesignModeSettings-Schnittstelle .

Beispiele

In diesem Beispiel startet Visual Studio eine Anwendung im Entwurfsmodus, die die Mindestbreite auf einer Anzeige der Größe 1366x768 überschrieben hat. Anschließend wird ein Schiebereglersteuerelement aktiviert, mit dem der Benutzer die Anwendungsbreite dynamisch ändern kann. Dazu muss die neue SetApplicationViewMinWidth - und GetApplicationSizeBounds-APIs verwendet werden, um die für diesen Anwendungstyp zulässigen Mindest- und Maximalgrößen zu berechnen.

Weitere Informationen zu IInitializeWithWindow::Initialize finden Sie unter Anzeigen von WinRT-UI-Objekten, die von CoreWindow abhängen.

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);
    }
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8.1 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h (einschließlich Shobjidl.h)

Weitere Informationen

IApplicationDesignModeSettings