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