Compartilhar via


SHRecognizeGesture

Windows Mobile SupportedWindows Embedded CE Supported

9/9/2008

Essa função é usada para reconhecer o gesto toque-e-estabilização caneta e o gesto pressione-e-estabilização botão de ação.

Syntax

WINSHELLAPI DWORD SHRecognizeGesture(
  SHRGINFO * shrg
);

Parameters

  • shrg
    [no] Ponteiro para um SHRGINFO estrutura.

Return Value

Se um gesto menu de contexto foi reconhecido, um WM_CONTEXTMENU mensagem será enviada para shrg-> hwndClient e propagada até o encadear pai se não tratado. Além disso, uma do seguinte ações serão tomadas com base no valor de shrg-> dwFlags:

  • Se shrg-> dwFlags é SHRG_RETURNCMD, a função retornará GN_CONTEXTMENU mensagem notificação. Se um aplicativo usa esse sinalizador, ele deverá estar ciente que colocar backup menus contexto no direcionar resposta para o valor de retorno torna esses menus inacessível para navegação hardware. Para habilitar navegação hardware, o aplicativo deve fazer menu de contexto manipulação em resposta a WM_CONTEXTMENU (consulte Comentários seção abaixo).
  • Se shrg-> dwFlags é SHRG_NOTIFYPARENT, um WM_NOTIFY mensagem com conjunto GN_CONTEXTMENU será enviada para o pai do shrg-> hwndClient. A função retornará o valor de retorno que veio de processamento de mensagem WM_NOTIFY.
  • Se shrg-> dwFlags é SHRG_LONGDELAY, uma mensagem WM_NOTIFY com conjunto GN_CONTEXTMENU será enviada para shrg-> hwndClient, e a função retornará o valor de retorno que veio de processamento de mensagem WM_NOTIFY.

Essa função retorna 0 não se havia nenhuma gesto menu de contexto.

Remarks

O gesto somente atualmente com suporte é para menus contexto, onde um gesto menu de contexto é definido como um usuário tocando na Tela e mantendo a caneta no mesmo ponto para alguns quantidade de tempo, ou o usuário pressionando e mantendo o botão ação para alguns quantidade de tempo. Essa quantidade de tempo pode ser controlada pelo OEM por uma configuração Registro.

Para obter mais informações Windows Embedded CE, consulte Configurações do Registro de controle comuns.

Normalmente, um controle irá chamar essa função durante a WM_LBUTTONDOWN processamento (para tocar e mantenha reconhecimento) ou durante a WM_KEYDOWN processamento (para ação pressionar e manter pressionado reconhecimento). Se um gesto é reconhecido as mensagens são enviadas para o aplicativo, conforme especificado na seção de Return Values e ele é a responsabilidade do aplicativo para trazer até as menu de contexto em resposta às mensagens enviadas.

Os aplicativos devem fazer menu de contexto manipulação em resposta ao WM_CONTEXTMENU sempre que possível garantir que o hardware adequado navegação comportamento. A notificação GN_CONTEXTMENU deve ser usada como o aplicativo somente quando o adicional informações fornecidas por esta mensagem é necessária.

Se você não fizer isso desejar para fornecer o padrão comentários animação para um gesto TAP-and-Hold, defina o sinalizador SHRG_NOANIMATION quando chamado a SHRecognizeGesture função. O seguinte exemplo de código mostra essa configuração.

case WM_LBUTTONDOWN:
{
  SHRGINFO    shrg;
  HMENU       hmenu;
  shrg.cbSize = sizeof(shrg);
  shrg.hwndClient = hWnd;
  shrg.ptDown.x = LOWORD(lParam);
  shrg.ptDown.y = HIWORD(lParam);
  shrg.dwFlags = SHRG_RETURNCMD
SHRG_NOANIMATION;
  if (SHRecognizeGesture(&shrg) == GN_CONTEXTMENU) {
    hmenu = GetSubMenu(g_hMainMenu, 0);
    TrackPopupMenuEx(hmenu,
                     TPM_LEFTALIGN,
                     LOWORD(lParam),
                     HIWORD(lParam),
                     hWnd,
                     NULL);
  }
  break;
}

Requirements

Header aygshell.h
Library aygshell.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Pocket PC 2000 and later