Condividi tramite


Interfaccia IApplicationDesignModeSettings2 (shobjidl_core.h)

Consente alle applicazioni dello strumento di sviluppo di controllare dinamicamente gli stati di sistema e utente, ad esempio la risoluzione nativa della visualizzazione del dispositivo, il fattore di scalabilità del dispositivo e il layout della visualizzazione dell'applicazione, segnalati alle app di Windows Store per testare le app di Windows Store in esecuzione in modalità di progettazione per un'ampia gamma di fattori di modulo senza la necessità dell'hardware effettivo. Consente anche di testare le modifiche nello stato normalmente controllato dall'utente per testare le app di Windows Store in diversi scenari.

Ereditarietà

L'interfaccia IApplicationDesignModeSettings2 eredita da IApplicationDesignModeSettings. IApplicationDesignModeSettings2 include anche questi tipi di membri:

Metodi

L'interfaccia IApplicationDesignModeSettings2 include questi metodi.

 
IApplicationDesignModeSettings2::GetApplicationSizeBounds

Questi metodi recuperano i limiti di dimensioni supportati dall'applicazione.
IApplicationDesignModeSettings2::GetApplicationViewOrientation

Ottiene l'orientamento della finestra della modalità di progettazione dell'applicazione.
IApplicationDesignModeSettings2::SetAdjacentDisplayEdges

Imposta se la finestra dell'applicazione sarà adiacente al bordo della visualizzazione emulata.
IApplicationDesignModeSettings2::SetApplicationViewMinWidth

Imposta la larghezza minima desiderata della finestra della modalità di progettazione dell'applicazione.
IApplicationDesignModeSettings2::SetApplicationViewOrientation

Imposta l'orientamento della finestra utilizzato per la finestra della modalità di progettazione.
IApplicationDesignModeSettings2::SetIsOnLockScreen

Questo metodo determina se l'applicazione, in modalità progettazione, può visualizzare informazioni sulla schermata di blocco Windows 8.
IApplicationDesignModeSettings2::SetNativeDisplayOrientation

Imposta l'orientamento della visualizzazione emulata per la finestra della modalità di progettazione.

Commenti

Questa interfaccia viene acquisita tramite la creazione di CLSID_ApplicationDesignModeSettings. È un'estensione dell'interfaccia IApplicationDesignModeSettings originale.

Esempio

In questo esempio Visual Studio avvia un'applicazione in modalità di progettazione con override della larghezza minima in una visualizzazione di dimensioni 1366x768. È quindi possibile abilitare un controllo dispositivo di scorrimento che consente all'utente di modificare dinamicamente la larghezza delle applicazioni. A tale scopo, è necessario usare le nuove API SetApplicationViewMinWidth e GetApplicationSizeBounds per calcolare le dimensioni minime e massime consentite per questo tipo di applicazione.

Per altre informazioni su IInitializeWithWindow::Initialize, vedere Visualizzare oggetti dell'interfaccia utente WinRT che dipendono da 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);
    }
}

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1 [solo app desktop]
Server minimo supportato Windows Server 2012 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h (include Shobjidl.h)

Vedi anche

IApplicationDesignModeSettings