XE7 可以全域觸控嗎 |
缺席
|
etjon
一般會員 發表:14 回覆:12 積分:5 註冊:2002-03-12 發送簡訊給我 |
因自身開發的程式將TImage 設為有觸控的元件,並撰寫程式碼處理,向右向左的功能,但因有特別的需求,可能在這個TImage
的上方會開另一隻程式撥放影片,但因是隻獨力的程式,所以觸控都沒有反應是正常的,所以想了一個解決的方式,透過HOOK SetWindowsHookEx ,WH_MOUSE_LL 然後將事件寫入TMouseGestureEngine , Notification 但看起來沒有用,請問這需求要如何處理,另外不知道 TMouseGestureEngine 是要如何應用,找不到 這方面的應用,所以我使用了這種方式,大至的問題是全域的觸控反應要如何達成 LRESULT CALLBACK TPlayFullScreenDialog::LowLevelMouseProc(int nCode, WPARAM wParam, LPARAM lParam) { if( nCode == HC_ACTION ) { TPoint p; p = PlayFullScreenDialog->FullScreenPlayImage->ScreenToClient(Mouse->CursorPos); TMessage msg; msg.Msg = wParam; msg.WParam = Mouse->CursorPos.x; msg.LParam = Mouse->CursorPos.y; PlayFullScreenDialog->m_MouseGestureEngine->Notification(msg); switch (wParam) { case WM_LBUTTONDOWN: // 按下滑鼠左鍵 if (MainForm->m_MediaBookPlay && MainForm->m_MediaBookPlay->IsRunning()) { MainForm->m_MediaBookPlay->OnExternalMouseDown(mbLeft, p.X, p.Y); MainForm->m_MediaBookPlay->SetMoveTimer(); PlayFullScreenDialog->m_MouseGestureEngine->Notification(msg); } break; case WM_LBUTTONUP: // 放開滑鼠左鍵 if (MainForm->m_MediaBookPlay && MainForm->m_MediaBookPlay->IsRunning()) { MainForm->m_MediaBookPlay->SetMoveTimer(); PlayFullScreenDialog->m_MouseGestureEngine->Notification(msg); } break; case WM_MOUSEMOVE: { // 滑鼠移動中 g_OldX = p.X; g_OldY = p.Y; if (g_LastBTDownX != p.X || g_LastBTDownY != p.Y) { if (MainForm->m_MediaBookPlay && MainForm->m_MediaBookPlay->IsRunning()) { MainForm->m_MediaBookPlay->SetMoveTimer(); } g_LastBTDownX = p.X; g_LastBTDownY = p.Y; } PlayFullScreenDialog->m_MouseGestureEngine->Notification(msg); break; } case WM_MOUSEWHEEL: // 捲動滾輪 break; case WM_RBUTTONDOWN: // 按下滑鼠右鍵" if (MainForm->m_MediaBookPlay && MainForm->m_MediaBookPlay->IsRunning()) { MainForm->m_MediaBookPlay->SetMoveTimer(); } break; case WM_RBUTTONUP: // 放開滑鼠右鍵 if (MainForm->m_MediaBookPlay && MainForm->m_MediaBookPlay->IsRunning()) { MainForm->m_MediaBookPlay->SetMoveTimer(); } break; } } return CallNextHookEx(g_hhook, nCode, wParam, lParam); } |
etjon
一般會員 發表:14 回覆:12 積分:5 註冊:2002-03-12 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |