共用方式為


IInputPanelInvocationConfiguration::RequireTouchInEditControl 方法 (inputpanelconfiguration.h)

在觸控式鍵盤叫用之前,需要在編輯欄位中點選明確的使用者。

Syntax

HRESULT RequireTouchInEditControl();

傳回值

RequireTouchInEditControl方法一律會傳回S_OK

備註

呼叫 RequireTouchInEditControl 方法時,所有未來的焦點變更都需要在觸控式鍵盤叫用之前,先在編輯欄位中點選明確的使用者。 您可以多次呼叫 RequireTouchInEditControl 方法,但無法復原設定。

此設定適用于在呼叫它之進程中執行的視窗的任何焦點事件。 RequireTouchInEditControl方法不會影響另一個具有擁有權鏈結至目前呼叫RequireTouchInEditControl之進程的擁有視窗。

RequireTouchInEditControl方法一律會傳回S_OK。 如果使用這個 API, IsUIBusy 屬性就不會有任何作用。 這兩個互動模型基本上互斥。

下列程式碼示範如何呼叫 RequireTouchInEditControl 方法。

#include <inputpanelconfiguration.h>
#include <inputpanelconfiguration_i.c>

IInputPanelInvocationConfiguration *pInputPanelInvocationConfiguration;
CoCreateInstance(CLSID_InputPanelConfiguration, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pInputPanelInvocationConfiguration));
pInputPanelInvocationConfiguration->RequireTouchInEditControl();

注意 在應用程式完成繪圖 UI 之前呼叫 Release 可能會導致未定義的行為。 如果觸控式鍵盤尚未執行,呼叫 Release 可能會導致卸載 tiptsf.dll,因為沒有 dll 的參考。 如果發生這種情況, RequireTouchInEditControl 方法所設定的狀態會遺失。
 
如果您需要延遲觸控式鍵盤的叫用直到稍後的時間,例如動畫或直接操作完成時,請使用 IsUIBusy 自訂 UI 自動化屬性。 如需詳細資訊,請參閱 註冊自訂屬性、事件和控制項模式

當您將 IsUIBusy 設定為 True時,觸控式鍵盤不會根據應用程式內的焦點變更來變更視覺狀態。 它仍然可以根據覆寫使用者動作來變更視覺狀態,例如使用實體鍵盤或手動關閉。

當您將 IsUIBusy 設定為 False 時,觸控式鍵盤會繼續其預設行為,並同步查詢具有焦點的控制項。

下列程式碼示範如何註冊 IsUIBusy 自訂 UI 自動化屬性。

/* 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);
            } 

需求

   
最低支援的用戶端 Windows 8
最低支援的伺服器 Windows Server 2012
目標平台 Windows
標頭 inputpanelconfiguration.h

另請參閱

IInputPanelInvocationConfiguration