Método IInputPanelInvocationConfiguration::RequireTouchInEditControl (inputpanelconfiguration.h)
Requer um toque explícito do usuário em um campo de edição antes que o teclado virtual invoque.
Sintaxe
HRESULT RequireTouchInEditControl();
Valor retornado
O método RequireTouchInEditControl sempre retorna S_OK.
Comentários
Quando o método RequireTouchInEditControl é chamado, todas as alterações de foco futuras exigem um toque explícito do usuário em um campo de edição antes que o teclado virtual invoque. Você pode chamar o método RequireTouchInEditControl várias vezes, mas não há como desfazer a configuração.
Essa configuração se aplica a qualquer evento de foco que ocorra em uma janela em execução no processo que a chamou. O método RequireTouchInEditControl não afeta janelas de propriedade em outro processo que tenha uma cadeia de propriedade para o processo atual chamado RequireTouchInEditControl.
O método RequireTouchInEditControl sempre retorna S_OK. Se essa API for usada, a propriedade IsUIBusy não terá efeito. Os dois modelos de interação são essencialmente mutuamente exclusivos.
O código a seguir mostra como chamar o método RequireTouchInEditControl .
#include <inputpanelconfiguration.h>
#include <inputpanelconfiguration_i.c>
IInputPanelInvocationConfiguration *pInputPanelInvocationConfiguration;
CoCreateInstance(CLSID_InputPanelConfiguration, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pInputPanelInvocationConfiguration));
pInputPanelInvocationConfiguration->RequireTouchInEditControl();
Quando você define IsUIBusy como True, o teclado virtual não altera o estado visual com base nas alterações de foco no aplicativo. Ele ainda é capaz de alterar o estado visual com base na substituição da ação do usuário, como usar um teclado físico ou uma demissão manual.
Quando você define IsUIBusy como False, o teclado virtual retoma seu comportamento padrão e consulta de forma síncrona para o controle que tem foco.
O código a seguir mostra como registrar a propriedade de automação de interface do usuário personalizada IsUIBusy .
/* 03391bea-6681-474b-955c-60f664397ac6 */
DEFINE_GUID(
GUID_UIBusy,
0x03391bea, 0x6681, 0x474b, 0x95, 0x5c, 0x60, 0xf6, 0x64, 0x39, 0x7a, 0xc6);
UIAutomationPropertyInfo customPropertyInfo =
{
GUID_UIBusy,
L"IsUIBusy",
UIAutomationType_Bool
};
CComPtr<IUIAutomationRegistrar> spRegistrar;
hr = spRegistrar.CoCreateInstance(
CLSID_CUIAutomationRegistrar,
nullptr,
CLSCTX_INPROC_SERVER);
if (SUCCEEDED(hr))
{
PATTERNID customPropertyId;
hr = spRegistrar->RegisterProperty(&customPropertyInfo, &customPropertyId);
}
Requisitos
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Windows |
Cabeçalho | inputpanelconfiguration.h |