Compartilhar via


Interface IApplicationDesignModeSettings2 (shobjidl_core.h)

Permite que aplicativos de ferramentas de desenvolvimento controlem dinamicamente os estados do sistema e do usuário, como resolução de exibição nativa, fator de escala do dispositivo e layout de exibição de aplicativo, relatados aos aplicativos da Windows Store com a finalidade de testar aplicativos da Windows Store em execução no modo de design para uma ampla variedade de fatores forma sem a necessidade do hardware real. Também permite o teste de alterações no estado normalmente controlado pelo usuário para testar aplicativos da Windows Store em uma variedade de cenários.

Herança

A interface IApplicationDesignModeSettings2 herda de IApplicationDesignModeSettings. IApplicationDesignModeSettings2 também tem estes tipos de membros:

Métodos

A interface IApplicationDesignModeSettings2 tem esses métodos.

 
IApplicationDesignModeSettings2::GetApplicationSizeBounds

Esses métodos recuperam os limites de tamanho compatíveis com o aplicativo.
IApplicationDesignModeSettings2::GetApplicationViewOrientation

Obtém a orientação da janela do modo de design do aplicativo.
IApplicationDesignModeSettings2::SetAdjacentDisplayEdges

Define se a janela do aplicativo será adjacente à borda da exibição emulada.
IApplicationDesignModeSettings2::SetApplicationViewMinWidth

Define a largura mínima desejada da janela do modo de design do aplicativo.
IApplicationDesignModeSettings2::SetApplicationViewOrientation

Define a orientação da janela usada para a janela de modo de design.
IApplicationDesignModeSettings2::SetIsOnLockScreen

Esse método determina se o aplicativo, no modo de design, pode ou não exibir informações na tela de bloqueio Windows 8.
IApplicationDesignModeSettings2::SetNativeDisplayOrientation

Define a orientação da exibição emulada para a janela do modo de design.

Comentários

Essa interface é adquirida pela cocriação de CLSID_ApplicationDesignModeSettings. É uma extensão da interface IApplicationDesignModeSettings original.

Exemplos

Neste exemplo, o Visual Studio está iniciando um aplicativo no modo de design que substituiu a largura mínima em uma exibição de tamanho 1366x768. Em seguida, ele está habilitando um controle deslizante que permite que o usuário altere dinamicamente a largura dos aplicativos. Para fazer isso, ele precisa usar as novas APIs SetApplicationViewMinWidth e GetApplicationSizeBounds para calcular os tamanhos mínimo e máximo permitidos para esse tipo de aplicativo.

Para obter mais informações sobre IInitializeWithWindow::Initialize, consulte Exibir objetos de interface do usuário do WinRT que dependem do 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 Valor
Cliente mínimo com suporte Windows 8.1 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 R2 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho shobjidl_core.h (inclua Shobjidl.h)

Confira também

IApplicationDesignModeSettings