易语言触摸屏源码

易语言触摸屏源码

.版本 2 .程序集 窗口程序集1 .程序集变量 idLookup, 整数型, , "10" .程序集变量 hOldWndProc .程序集变量 colors, 整数型, , "10" .程序集变量 points, POINT, , "10" .程序集变量 white, 整数型 .子程序 __启动窗口_创建完毕 .局部变量 i .局部变量 v ' 本源码来自三叶资源网(www.sanye.cx) v = 位与 (位与 (GetVersion (), 65535), 15) .如果真 (v < 6) 结束 () .如果真结束 RegisterTouchWindow (取窗口句柄 (), 0) hOldWndProc = SetWindowLong (取窗口句柄 (), -4, 到整数 (&WndProc)) colors [1] = 取颜色值 (153, 255, 51) colors [2] = 取颜色值 (153, 0, 0) colors [3] = 取颜色值 (0, 153, 0) colors [4] = 取颜色值 (255, 255, 0) colors [5] = 取颜色值 (255, 51, 204) colors [6] = 取颜色值 (0, 0, 0) colors [7] = 取颜色值 (0, 153, 0) colors [8] = 取颜色值 (153, 255, 255) colors [9] = 取颜色值 (153, 153, 255) colors [10] = 取颜色值 (0, 51, 153) ' 本源码来自三叶资源网(www.sanye.cx) .计次循环首 (10, i) ' 这里的10是指最大支持触控的点数 points [i].x = -1 points [i].y = -1 idLookup [i] = -1 .计次循环尾 () white = CreateSolidBrush (#白色) .子程序 WndProc, 整数型 .参数 hWnd, 整数型 .参数 wMsg, 整数型 .参数 wParam, 整数型 .参数 lParam, 整数型 .局部变量 pInputs, TOUCHINPUT, , "0" .局部变量 ptInput, POINT .局部变量 ti, TOUCHINPUT .局部变量 index, 整数型 .局部变量 cInputs, 整数型 .局部变量 hdc, 整数型 .局部变量 ps, PAINTSTRUCT .局部变量 client, RECT .局部变量 memDC, 整数型, 静态 .局部变量 hMemBmp, 整数型, 静态 .局部变量 hOldBmp, 整数型 .局部变量 hOldBrush .局部变量 brush .局部变量 x, 整数型 .局部变量 y, 整数型 .局部变量 i, 整数型 .判断开始 (wMsg = #WM_TOUCH) cInputs = LOWORD (wParam) 重定义数组 (pInputs, 假, cInputs) .如果真 (GetTouchInputInfo (lParam, cInputs, pInputs, 40)) .计次循环首 (cInputs, i) ti = pInputs [i] index = GetContactIndex (ti.dwID) .如果真 (ti.dwID ≠ 0 且 index > 0 且 index < 10) ptInput.x = ti.x ÷ 100 ptInput.y = ti.y ÷ 100 ScreenToClient (hWnd, ptInput) .如果 (位与 (ti.dwFlags, 52) = 52) points [index].x = -1 points [index].y = -1 .否则 points [index].x = ptInput.x points [index].y = ptInput.y .如果结束 ' 本源码来自三叶资源网(www.sanye.cx) .如果真结束 .计次循环尾 () .如果真结束 CloseTouchInputHandle (lParam) 重定义数组 (pInputs, 假, 0) hdc = GetDC (hWnd) GetClientRect (hWnd, client) .如果真 (memDC = 0) memDC = CreateCompatibleDC (hdc) .如果真结束 hMemBmp = CreateCompatibleBitmap (hdc, client.Right, client.Bottom) hOldBmp = SelectObject (memDC, hMemBmp) FillRect (memDC, client, white) .计次循环首 (10, i) brush = CreateSolidBrush (colors [i]) hOldBrush = SelectObject (memDC, brush) x = points [i].x y = points [i].y .如果真 (x > 0 且 y > 0) Ellipse (memDC, x - 50, y - 50, x + 50, y + 50) .如果真结束 ' 本源码来自三叶资源网(www.sanye.cx) SelectObject (memDC, hOldBrush) DeleteObject (brush) .计次循环尾 () BitBlt (hdc, 0, 0, client.Right, client.Bottom, memDC, 0, 0, 13369376) ' 本源码来自三叶资源网(www.sanye.cx) ReleaseDC (hWnd, hdc) 返回 (0) .判断 (wMsg = #WM_PAINT) hdc = BeginPaint (hWnd, ps) GetClientRect (hWnd, client) .如果真 (memDC = 0) memDC = CreateCompatibleDC (hdc) .如果真结束 hMemBmp = CreateCompatibleBitmap (hdc, client.Right, client.Bottom) hOldBmp = SelectObject (memDC, hMemBmp) FillRect (memDC, client, CreateSolidBrush (取颜色值 (255, 255, 255))) .计次循环首 (10, i) SelectObject (memDC, CreateSolidBrush (colors [i])) x = points [i].x y = points [i].y .如果真 (x > 0 且 y > 0) Ellipse (memDC, x - 50, y - 50, x + 50, y + 50) .如果真结束 ' 本源码来自三叶资源网(www.sanye.cx) .计次循环尾 () BitBlt (hdc, 0, 0, client.Right, client.Bottom, memDC, 0, 0, 13369376) EndPaint (hWnd, ps) 返回 (0) .默认 .判断结束 返回 (CallWindowProc (hOldWndProc, hWnd, wMsg, wParam, lParam)) .子程序 __启动窗口_将被销毁 UnregisterTouchWindow (取窗口句柄 ()) .子程序 LOWORD, 整数型 .参数 整数 返回 (位与 (整数, 65535)) .子程序 GetContactIndex, 整数型 .参数 dwID, 整数型 .局部变量 i, 整数型 .计次循环首 (10, i) .如果 (idLookup [i] = -1) idLookup [i] = dwID 返回 (i) .否则 .如果真 (idLookup [i] = dwID) 返回 (i) .如果真结束 ' 本源码来自三叶资源网(www.sanye.cx) .如果结束 .计次循环尾 () 返回 (-1)
相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言触摸屏源码》有0个想法

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注