Interface IApplicationDesignModeSettings (shobjidl_core.h)
Permite que aplicativos de ferramentas de desenvolvimento falsifiquem dinamicamente os estados do sistema e do usuário, como resolução de exibição nativa, fator de escala do dispositivo e estado de exibição do aplicativo, 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 IApplicationDesignModeSettings herda da interface IUnknown . IApplicationDesignModeSettings também tem estes tipos de membros:
Métodos
A interface IApplicationDesignModeSettings tem esses métodos.
IApplicationDesignModeSettings::ComputeApplicationSize Obtém o tamanho do aplicativo da Windows Store, com base no conjunto atual de configurações falsificadas. |
IApplicationDesignModeSettings::IsApplicationViewStateSupported Determina se um estado de exibição de aplicativo específico tem suporte para configurações específicas de tamanho de exibição falsificado e fator de escala. |
IApplicationDesignModeSettings::SetApplicationViewState Define um estado de exibição de aplicativo falsificado (paisagem de tela inteira, retrato em tela inteira, preenchido ou ajustado) a ser usado para um aplicativo da Windows Store em execução no modo de design. |
IApplicationDesignModeSettings::SetNativeDisplaySize Define um tamanho de exibição nativo falsificado a ser usado para um aplicativo da Windows Store em execução no modo de design. |
IApplicationDesignModeSettings::SetScaleFactor Define um fator de escala de dispositivo falsificado a ser usado para um aplicativo da Windows Store em execução no modo de design. |
IApplicationDesignModeSettings::TriggerEdgeGesture Envia um evento de gesto de borda falsificado para a janela do núcleo de proxy no thread do chamador. Esse gesto alterna a barra de aplicativos do aplicativo, se o aplicativo der suporte a um. O chamador pode especificar o tipo de entrada que disparou o gesto de borda. |
Comentários
Essa interface é adquirida pela cocriação de CLSID_ApplicationDesignModeSettings.
Normalmente, os usuários seguirão um padrão de uso semelhante ao seguinte:
- Chame CoCreateInstance com CLSID_ApplicationDesignModeSettings para criar o objeto de configurações do modo de design do aplicativo em um thread no processo de aplicativo da Windows Store.
- Chame QueryInterface no objeto de configurações do modo de design do aplicativo para obter um objeto IInitializeWithWindow .
- Chame o método Initialize do objeto IInitializeWithWindow , passando o HWND para a janela do núcleo do proxy. Isso deve ser feito antes que qualquer método "set" seja chamado e terá êxito apenas uma vez por processo. Para obter um exemplo de código, consulte [Exibir objetos de interface do usuário do WinRT que dependem do CoreWindow](/windows/apps/develop/ui-input/display-ui-objects#winui-3-with-c).
- Chame QueryInterface para IApplicationDesignModeSettings e falsifique o estado de teste necessário chamando seus métodos apropriados (SetNativeDisplaySize, SetScaleFactor etc.). Esses métodos dispararão os eventos de Windows Runtime apropriados a serem acionados para o aplicativo da Windows Store.
- Chame o método ComputeApplicationSize para determinar o tamanho adequado para o aplicativo, com base no estado falsificado no momento. Todos os métodos de layout "set" já devem ter sido chamados ou essa chamada falhará. O aplicativo de ferramenta de desenvolvedor é responsável por posicionar e dimensionar as janelas do aplicativo, quando apropriado.
Quando implementar
Não implemente essa interface; a implementação é fornecida com o Windows.Quando usar
Use os métodos dessa interface para testar seu aplicativo da Windows Store em várias configurações e cenários falsificados.Exemplos
Este exemplo mostra os métodos dessa interface em uso.
IApplicationDesignModeSettings *pDesignModeSettings;
// CoCreate the design mode settings object
HRESULT hr = CoCreateInstance(CLSID_ApplicationDesignModeSettings, nullptr, CLSCTX_INPROC, IID_PPV_ARGS(&pDesignModeSettings));
if (SUCCEEDED(hr))
{
IInitializeWithWindow *pInitializeWithWindow;
hr = pDesignModeSettings->QueryInterface(IID_PPV_ARGS(&pInitializeWithWindow);
if (SUCCEEDED(hr))
{
// Before we spoof any 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 = pInitializeWithWindow->Initialize(hwndProxyCoreWindow);
pInitializeWithWindow->Release();
}
if (SUCCEEDED(hr))
{
// Verify that our desired spoofed settings are supported.
SIZE sizeNativeDisplay = {1366, 768};
SCALE_FACTOR scaleFactor = SCALE_100_PERCENT;
APPLICATION_VIEW_STATE viewState = AVS_FULLSCREEN_LANDSCAPE;
BOOL fSupported;
hr = pDesignModeSettings->IsApplicationViewStateSupported(viewState,
sizeNativeDisplay,
scaleFactor,
&fSupported);
}
if (SUCCEEDED(hr) && fSupported))
{
// Set the spoofed native display size.
hr = pDesignModeSettings->SetNativeDisplaySize(sizeNativeDisplay);
if (SUCCEEDED(hr))
{
// Set the spoofed scale factor to 100%.
hr = pDesignModeSettings->SetScaleFactor(SCALE_100_PERCENT);
}
if (SUCCEEDED(hr))
{
// Set the spoofed application view state to full-screen landscape.
hr = pDesignModeSettings->SetApplicationViewState(AVS_FULLSCREEN_LANDSCAPE);
}
if (SUCCEEDED(hr))
{
// Now that all the necessary state has been spoofed, calculate
// the size that the app should occupy.
SIZE sizeApplication;
hr = pDesignModeSettings->ComputeApplicationSize(&sizeApplication);
}
}
pDesignModeSettings->Release();
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | shobjidl_core.h (inclua Shobjidl.h) |