键盘方向键控制鼠标移动的实现
static int repeat=0;
POINT ptCursor;
RECT rect;
case WM_KEYDOWN:
if(wParam!=VK_LEFT&&wParam!=VK_RIGHT&&wParam!=VK_UP&&wParam!=VK_DOWN)
break;
GetCursorPos(&ptCursor);
ScreenToClient(hWnd,&ptCursor);
repeat+=3;
switch(wParam)
{
case VK_LEFT:
ptCursor.x-=repeat;
break;
case VK_RIGHT:
ptCursor.x+=repeat;
break;
case VK_UP:
ptCursor.y-=repeat;
break;
case VK_DOWN:
ptCursor.y+=repeat;
break;
default:
return(NULL);
}
GetClientRect(hWnd,&rect);
if(ptCursor.x>=rect.right)
ptCursor.x=rect.right-1;
else if(ptCursor.x<rect.left)
ptCursor.x=rect.left;
if(ptCursor.y>=rect.bottom)
ptCursor.y=rect.bottom-1;
else if(ptCursor.y<rect.top)
ptCursor.y=rect.top;
ClientToScreen(hWnd,&ptCursor);
SetCursorPos(ptCursor.x,ptCursor.y);
case WM_KEYUP:
{
repeat=10;
break;
}
break;
本文详细阐述了如何通过键盘的上下左右方向键来控制鼠标移动的实现过程,包括事件处理、坐标转换以及边界限制等关键步骤。

1万+

被折叠的 条评论
为什么被折叠?



