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