RegisterTouchWindow 函数 (winuser.h)

将窗口注册为支持触摸。

语法

BOOL RegisterTouchWindow(
  [in] HWND  hwnd,
  [in] ULONG ulFlags
);

参数

[in] hwnd

正在注册的窗口的句柄。 如果调用线程不拥有指定窗口,函数将失败并 ERROR_ACCESS_DENIED

[in] ulFlags

一组用于指定可选修改的位标志。 此字段可能包含 0 或以下值之一。

含义
TWF_FINETOUCH
指定 hWnd 首选非同步触摸输入。
TWF_WANTPALM
设置此标志会禁用手掌拒绝,从而减少获取 WM_TOUCH 消息的延迟。 如果希望在用户触摸应用程序时尽可能快地响应,这非常有用。

默认情况下,手掌检测处于启用状态,并阻止将某些 WM_TOUCH 消息发送到应用程序。 如果不希望接收来自手掌接触 WM_TOUCH 消息,这将非常有用。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 若要获取扩展错误信息,请使用 GetLastError 函数。

注解

注意 必须在将用于触摸输入的每个窗口上调用 RegisterTouchWindow。 这意味着,如果应用程序具有多个窗口,则必须在该应用程序中使用触摸功能的每个窗口上调用 RegisterTouchWindow 。 此外,如果应用程序需要更改修饰符标志,则可以为同一窗口调用 RegisterTouchWindow 任意次数。 可以使用 UnregisterTouchWindow 函数将窗口标记为不再需要触摸输入。
 
如果启用 TWF_WANTPALM ,则不会缓冲来自触摸输入的数据包,也不会在将数据包发送到应用程序之前执行手掌检测。 如果要在处理 WM_TOUCH 消息时将延迟降到最低,则启用 TWF_WANTPALM 最有用。

示例


BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // Store instance handle in the global variable.

   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   RegisterTouchWindow(hWnd, 0);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;
}	 
	 

要求

   
最低受支持的客户端 Windows 7 [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 R2 [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll

请参阅

函数

UnregisterTouchWindow