IInputPanelInvocationConfiguration::RequireTouchInEditControl, méthode (inputpanelconfiguration.h)
Nécessite un appui explicite de l’utilisateur dans un champ d’édition avant que le clavier tactile n’appelle.
Syntaxe
HRESULT RequireTouchInEditControl();
Valeur de retour
La méthode RequireTouchInEditControl retourne toujours S_OK.
Notes
Lorsque la méthode RequireTouchInEditControl est appelée, toutes les modifications de focus futures nécessitent un appui explicite de l’utilisateur dans un champ d’édition avant que le clavier tactile ne soit appelé. Vous pouvez appeler la méthode RequireTouchInEditControl plusieurs fois, mais il n’existe aucun moyen d’annuler le paramètre.
Ce paramètre s’applique à tout événement focus qui se produit sur une fenêtre qui s’exécute dans le processus qui l’a appelée. La méthode RequireTouchInEditControl n’affecte pas les fenêtres appartenant à un autre processus qui ont une chaîne de propriété au processus actuel appelé RequireTouchInEditControl.
La méthode RequireTouchInEditControl retourne toujours S_OK. Si cette API est utilisée, la propriété IsUIBusy n’a aucun effet. Les deux modèles d’interaction sont essentiellement mutuellement exclusifs.
Le code suivant montre comment appeler la méthode RequireTouchInEditControl .
#include <inputpanelconfiguration.h>
#include <inputpanelconfiguration_i.c>
IInputPanelInvocationConfiguration *pInputPanelInvocationConfiguration;
CoCreateInstance(CLSID_InputPanelConfiguration, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pInputPanelInvocationConfiguration));
pInputPanelInvocationConfiguration->RequireTouchInEditControl();
Lorsque vous définissez IsUIBusy sur True, le clavier tactile ne change pas d’état visuel en fonction des modifications apportées au focus dans l’application. Il est toujours en mesure de modifier l’état visuel en fonction de l’action de substitution de l’utilisateur, comme l’utilisation d’un clavier physique ou d’un renvoi manuel.
Lorsque vous définissez IsUIBusy sur False, le clavier tactile reprend son comportement par défaut et interroge de manière synchrone le contrôle qui a le focus.
Le code suivant montre comment inscrire la propriété d’automatisation de l’interface utilisateur personnalisée 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);
}
Configuration requise
Client minimal pris en charge | Windows 8 |
Serveur minimal pris en charge | Windows Server 2012 |
Plateforme cible | Windows |
En-tête | inputpanelconfiguration.h |