鼠标的按钮操作,主要以下三种
1单击:然下鼠标,然后松开
2双击:连续两次快速按下鼠标按钮,然后松开
3保持按下按钮,并移动鼠标
下面看看按钮事件:
按钮
|
按下
|
释放
|
第二次按下按钮
|
左键
|
WM_LBUTTONDOWN
|
WM_LBUTTONUP
|
WM_LBUTTONDBLCLK
|
中键
|
WM_MBUTTONDOWN
|
WM_MBUTTONUP
|
WM_MBUTTONDBLCLK
|
右键
|
WM_RBUTTONDOWN
|
WM_RBUTTONUP
|
WM_RBUTTONDBLCLK
|
下面是一个简单的鼠标处理事例:
#include<windows.h>
#include<windowsx.h>//GET_X_LPARAM (lParam)此类函数在这个头文件里
#define MAXPOINTS 1000
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
);
int WINAPI WinMain(
HINSTANCE hInstance, // handle to current instance
HINSTANCE hPrevInstance, // handle to previous instance
LPSTR lpCmdLine, // command line
int nCmdShow // show state
)
{
static TCHAR szAppName[]=TEXT("leidemingzi");
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
wndclass.cbClsExtra=0;
wndclass.cbWndExtra=0;
wndclass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);
wndclass.hIcon=LoadIcon(NULL,IDI_ERROR);
wndclass.hInstance=hInstance;
wndclass.lpfnWndProc=WindowProc;
wndclass.lpszClassName=szAppName;
wndclass.lpszMenuName=NULL;
wndclass.style=CS_HREDRAW|CS_VREDRAW;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL,TEXT("the program require window NT"),szAppName,MB_ICONERROR);
return 0;
}
hwnd=CreateWindow(
szAppName, // registered class name
TEXT("this is title"), // window name
WS_OVERLAPPEDWINDOW, // window style
CW_USEDEFAULT, // horizontal position of window
CW_USEDEFAULT, // vertical position of window
CW_USEDEFAULT, // window width
CW_USEDEFAULT, // window height
NULL, // handle to parent or owner window
NULL, // menu handle or child identifier
hInstance, // handle to application instance
NULL // window-creation data
);
ShowWindow(hwnd,nCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg,NULL,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WindowProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
)
{
HDC hdc;
PAINTSTRUCT ps;
static int iCount;
static POINT pt[MAXPOINTS];
int i,j;
switch(uMsg)
{
case WM_LBUTTONDOWN:
iCount=0;
InvalidateRect(hwnd,NULL,TRUE);
return 0;
case WM_MOUSEMOVE:
if(wParam & MK_LBUTTON & (iCount<1000))//很重要喔
{
pt[iCount ].x = GET_X_LPARAM (lParam) ;
pt[iCount++].y = GET_Y_LPARAM (lParam) ;
hdc = GetDC (hwnd) ;
SetPixel (hdc, GET_X_LPARAM (lParam), GET_Y_LPARAM (lParam), 0) ;
ReleaseDC (hwnd, hdc) ;
}
return 0;
case WM_LBUTTONUP:
InvalidateRect(hwnd,NULL,FALSE);//使矩形区域无效,触动WM_PAINT事件,并且WM_PAINT事件的时候,不删除原来的区域内容
return 0;
case WM_PAINT:
hdc=BeginPaint(hwnd,&ps);
SetCursor(LoadCursor(NULL,IDC_WAIT));//把鼠标设置为忙碌状态
ShowCursor(TRUE);//显示鼠标
for (i = 0 ; i < iCount - 1 ; i++)
for (j = i + 1 ; j < iCount ; j++)
{
MoveToEx (hdc, pt[i].x, pt[i].y, NULL) ;//起点
LineTo (hdc, pt[j].x, pt[j].y) ;//画线
}
ShowCursor(FALSE);
SetCursor(LoadCursor(NULL,IDC_ARROW));
EndPaint(hwnd,&ps);
return 0;
case WM_DESTROY:
PostQuitMessage(0);
return 0;
}
return DefWindowProc(hwnd,uMsg,wParam,lParam);
}
其中的一个效果图如下:
分享到:
相关推荐
├─变色动态鼠标1 ├─日本兵器 ├─星际鼠标 ├─毛笔 ├─玫瑰花鼠标指针 ├─白色透明金鱼鼠标指针 ├─绝翼飞行鼠标指针 ├─绿叶鼠标指针 ├─蓝光棒 ├─蓝箭头 ├─蓝色吸血鬼氏族 ├─蓝色羽毛珍藏版鼠标...
1代苹果蓝牙鼠标驱动程序64位,windows7/10/11可用,解决鼠标滚轮在windows系统中无法使用的问题。亲测可用
Gears鼠标鼠标鼠标鼠标鼠标鼠标鼠标鼠标鼠标鼠标鼠标
罗技ls1驱动是专为LogitechLS1光学鼠标打造的驱动程序,买了这款鼠标需要驱动的朋友赶紧下载吧鼠标介绍LS1激光鼠标的外观简约大方,色彩绚烂华丽,全面实现了舒适与便利的移动性,可满足年轻一族的无上追求。鼠标...
破障鼠标点击器是一个很有用的免费小软件,如果你在平时的游戏或是工作中经常需要大量点击鼠标左键或右键,如果你喜欢玩网络游戏,RPG游戏,那么一定有大量点击鼠标的经验,非常浪费时间,浪费精力,消耗鼠标1这个小...
鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载鼠标指针下载Yangcong WolfYangcong WolfYangcong WolfYangcong WolfYangcong WolfYangcong ...
鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取鼠标拾取...
新贵GX100-PRO鼠标驱动是新贵官方推出的新贵GX100-PRO鼠标的专用驱驱动,可以对新贵GX100-PRO鼠标的DPI、灵敏度、灯光等进行设置,充分发挥鼠标的性能,很适合使用新贵GX100-PRO鼠标并对鼠标要求高的用户使用。...
鼠标操作基本练习,方便初次接触电脑人掌握鼠标使用鼠标操作基本练习,方便初次接触电脑人掌握鼠标使用鼠标操作基本练习,方便初次接触电脑人掌握鼠标使用鼠标操作基本练习,方便初次接触电脑人掌握鼠标使用鼠标操作...
动态鼠标 动态鼠标 动态鼠标 动态鼠标 动态鼠标
解决对应鼠标型号的惠普无线鼠标驱动问题
动态鼠标 动态鼠标 动态鼠标 动态鼠标 动态鼠标 动态鼠标 动态鼠标 动态鼠标
鼠标测试工具鼠标测试鼠标测试鼠标测试鼠标测试鼠标测试
鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标连点+录制鼠标...
鼠标测试C#鼠标测试C#鼠标测试C#鼠标测试C#鼠标测试C#鼠标测试C#鼠标测试C#鼠标测试C#
鼠标笔鼠标写字鼠标笔鼠标写字鼠标笔鼠标写字鼠标笔鼠标写字
彩色荧光鼠标指针鼠标指针
鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎蝰蛇驱动鼠标天蝎...
鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟鼠标模拟