IInputPanelInvocationConfiguration::RequireTouchInEditControl-Methode (inputpanelconfiguration.h)
Erfordert ein explizites Tippen eines Benutzers in ein Bearbeitungsfeld, bevor die Touchtastatur aufgerufen wird.
Syntax
HRESULT RequireTouchInEditControl();
Rückgabewert
Die RequireTouchInEditControl-Methode gibt immer S_OK zurück.
Hinweise
Wenn die RequireTouchInEditControl-Methode aufgerufen wird, erfordern alle zukünftigen Fokusänderungen, dass der Benutzer explizit auf ein Bearbeitungsfeld tippt, bevor die Touchtastatur aufgerufen wird. Sie können die RequireTouchInEditControl-Methode mehrmals aufrufen, aber es gibt keine Möglichkeit, die Einstellung rückgängig zu machen.
Diese Einstellung gilt für jedes Fokusereignis, das für ein Fenster stattfindet, das in dem Prozess ausgeführt wird, der es aufgerufen hat. Die RequireTouchInEditControl-Methode wirkt sich nicht auf eigene Fenster in einem anderen Prozess aus, die eine Besitzkette mit dem aktuellen Prozess mit dem Namen RequireTouchInEditControl aufweisen.
Die RequireTouchInEditControl-Methode gibt immer S_OK zurück. Wenn diese API verwendet wird, hat die IsUIBusy-Eigenschaft keine Auswirkung. Die beiden Interaktionsmodelle schließen sich im Wesentlichen aus.
Der folgende Code zeigt, wie Die RequireTouchInEditControl-Methode aufgerufen wird .
#include <inputpanelconfiguration.h>
#include <inputpanelconfiguration_i.c>
IInputPanelInvocationConfiguration *pInputPanelInvocationConfiguration;
CoCreateInstance(CLSID_InputPanelConfiguration, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pInputPanelInvocationConfiguration));
pInputPanelInvocationConfiguration->RequireTouchInEditControl();
Wenn Sie IsUIBusy auf True festlegen, ändert die Touchtastatur den visuellen Zustand nicht basierend auf Fokusänderungen innerhalb der App. Es ist weiterhin in der Lage, den visuellen Zustand basierend auf der Überschreibung von Benutzeraktionen zu ändern, z. B. mithilfe einer physischen Tastatur oder einer manuellen Kündigung.
Wenn Sie IsUIBusy auf False festlegen, setzt die Touchtastatur ihr Standardverhalten fort und fragt synchron nach dem Steuerelement ab, das den Fokus hat.
Der folgende Code zeigt, wie Die benutzerdefinierte Ui-Automatisierungseigenschaft IsUIBusy registriert wird.
/* 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);
}
Anforderungen
Unterstützte Mindestversion (Client) | Windows 8 |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Windows |
Kopfzeile | inputpanelconfiguration.h |