Как убрать анимацию при Tap-And-Hold

Возникла задача: написать обработку тачскрина PocketPC на модальном диалоговом окне. На диалог накладывается красивая bitmap с разлинованными областями. При нажатии стилусом или пальцем на определенные зоны должны происходить какие-то действия (калькулятор, набор телефонного номера, запуск процессов и пр.). Все было достаточно просто (сделано на LBUTTONDOWN/LBUTTONUP), кроме двух моментов:

1. Если стилусом нажать и подержать - возникает событие Tap-and-hold, которое обычно сопровождается контекстным pop-up окошком, а также анимацией красных шариков :) А эти шарики мне абсолютно были не нужны.

2. Если удержать нажатие и перевести стилус (палец) в другую область, то LBUTTONDOWN возникает в одной активной области, а LBUTTONUP - в другой. Что для подсветки кнопок не очень годится, так как для простоты я сделал подсветку инвертированием областей CDC.

Итак, решение, как избавится от Tap-And-Hold:

  1. case WM_LBUTTONDOWN:
  2. {
  3. SHRGINFO  shrg;
  4. HMENU    hmenu;
  5.  
  6. shrg.cbSize = sizeof(shrg);
  7. shrg.hwndClient = hWnd;
  8. shrg.ptDown.x = LOWORD(lParam);
  9. shrg.ptDown.y = HIWORD(lParam);
  10. shrg.dwFlags = SHRG_RETURNCMD | SHRG_NOANIMATION;
  11.  
  12. if (SHRecognizeGesture(&shrg) == GN_CONTEXTMENU) {
  13. hmenu = GetSubMenu(g_hMainMenu, 0);
  14. TrackPopupMenuEx(hmenu, TPM_LEFTALIGN, LOWORD(lParam),
  15. HIWORD(lParam), hWnd, NULL);
  16. }
  17. break;
  18. }

Спасибо за то, что вы добавили данный пост в

добавить в twitter.com livejournal.com

Ваши комментарии:

также вы можете зарегистрироваться
Подпишитесь на новые записи моего блога:
Добавить в закладки: (в том числе и в Twitter)

Читайте также:

  • Это смартфон или карманный ПК?
  • Недокументированные трюки для Windows Mobile 6
  • Error LNK2001: unresolved external symbol _CLSID_Application
  • Возможности Xperia X1
  • Что такое CellCore, RIL и WAP