Metodo IInputPanelInvocationConfiguration::RequireTouchInEditControl (inputpanelconfiguration.h)
Richiede un tocco esplicito da parte dell'utente in un campo di modifica prima che la tastiera virtuale richiami.
Sintassi
HRESULT RequireTouchInEditControl();
Valore restituito
Il metodo RequireTouchInEditControl restituisce sempre S_OK.
Commenti
Quando viene chiamato il metodo RequireTouchInEditControl , tutte le modifiche future dello stato attivo richiedono un tocco esplicito dell'utente in un campo di modifica prima che la tastiera virtuale richiami. È possibile chiamare il metodo RequireTouchInEditControl più volte, ma non è possibile annullare l'impostazione.
Questa impostazione si applica a qualsiasi evento di stato attivo che si verifica in una finestra in esecuzione nel processo che lo ha chiamato. Il metodo RequireTouchInEditControl non influisce sulle finestre di proprietà in un altro processo con una catena di proprietà per il processo corrente denominato RequireTouchInEditControl.
Il metodo RequireTouchInEditControl restituisce sempre S_OK. Se questa API viene usata, la proprietà IsUIBusy non ha alcun effetto. I due modelli di interazione si escludono essenzialmente a vicenda.
Il codice seguente illustra come chiamare il metodo RequireTouchInEditControl .
#include <inputpanelconfiguration.h>
#include <inputpanelconfiguration_i.c>
IInputPanelInvocationConfiguration *pInputPanelInvocationConfiguration;
CoCreateInstance(CLSID_InputPanelConfiguration, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pInputPanelInvocationConfiguration));
pInputPanelInvocationConfiguration->RequireTouchInEditControl();
Quando imposti IsUIBusy su True, la tastiera virtuale non modifica lo stato di visualizzazione in base alle modifiche dello stato attivo all'interno dell'app. È comunque in grado di modificare lo stato di visualizzazione in base all'override dell'azione dell'utente, come l'uso di una tastiera fisica o la chiusura manuale.
Quando si imposta IsUIBusy su False, la tastiera virtuale riprende il comportamento predefinito e le query in modo sincrono per il controllo con stato attivo.
Il codice seguente illustra come registrare la proprietà di automazione dell'interfaccia utente personalizzata 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);
}
Requisiti
Client minimo supportato | Windows 8 |
Server minimo supportato | Windows Server 2012 |
Piattaforma di destinazione | Windows |
Intestazione | inputpanelconfiguration.h |