鼠标相关

发布时间:2025-05-06 06:32

用鼠标垫做手腕活动,预防鼠标手。 #生活技巧# #健康生活小窍门# #运动技巧# #办公室运动建议#

检测鼠标是否存在的函数(返回值为true表示已经安装,返回值为0表示没有安装):

bMouse = GetSystemMetrics(SM_MOUSEPRESENT);

确定鼠标键的个数(返回值为0表示为安装鼠标,返回为非0表示相应的键值):

dwButtons = GetSystemMetrics(SM_CMOUSEBUTTONS);

鼠标消息可分为客户区鼠标消息与非客户区鼠标消息,对于一个典型的窗口而言,可用于输出文档的区域被称之为窗口的客户区。

而标题栏,菜单栏,滚动条,工具栏,和边框等所占据的窗口区域被称之为非客户区域。

一般非客户区域的鼠标消息我们交予操作系统来处理,我们只需要将重点放在客户区域的鼠标消息处理上

客户区域的鼠标消息处理函数原型:

afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);

nFlags:表示鼠标按钮的状态以及鼠标事件发生时键盘上的按键状态,具体取值如下:

MK_LBUTTON

MK_RBUTTON

MK_MBUTTON

MK_SHIFT

MK_CONTROL

如果想知道某个键是否被按下,可以取以上值与nFlags按位做逻辑与运算,所得
结果若为非零值,则表示该键被按下,事例代码如下:

if (nFlags & MK_SHIFT)

{

AfxMessageBox("键盘上的shift键被按下");

}

else if (nFlags & MK_LBUTTON)

{

AfxMessageBox("鼠标左键被按下");

}

else if (nFlags & MK_RBUTTON)

{

AfxMessageBox("鼠标右键被按下");

}

else if (nFlags & MK_MBUTTON)

{

AfxMessageBox("鼠标中间被按下");

}

else if (nFlags & MK_CONTROL)

{

AfxMessageBox("键盘上的Control键被按下");

}

else

{

AfxMessageBox("鼠标处于释放状态");

}

point:表示鼠标光标热点的位置即设备坐标,是CPoint结构,成员x包含光标的水平坐标哪,
成员y包含坐标的垂直坐标,如果有需要可以将这些设备坐标转换为逻辑坐标
简单示例如下:

void CTestView::OnLButtonDblClk(UINT nFlags, CPoint point)

{

char szText[MAX_PATH] = {0};

sprintf(szText, "横坐标:%d 纵坐标:%d",point.x,point.y);

AfxMessageBox(szText);

CView::OnLButtonDblClk(nFlags, point);

}

效果图:


响应鼠标跟随消息WM_MOUSEMOVE

void CTestView::OnMouseMove(UINT nFlags, CPoint point)

{

CClientDC* pDC = new CClientDC(this);

CRect theRect(point.x - 30, point.y - 20, point.x + 30,point.y + 20);

pDC->Rectangle(theRect);

CView::OnMouseMove(nFlags, point);

}

效果图:


设置鼠标的样式:

IDC_ARROW

IDC_WAIT

IDC_CROSS

IDC_IBEAM

IDC_UPARROW

IDC_SIZEWE

IDC_SIZENS

void CTestView::OnLButtonDblClk(UINT nFlags, CPoint point)

{

HCURSOR hCursor = AfxGetApp()->LoadCursor(IDC_CURSOR1);

SetCursor(hCursor);

CView::OnLButtonDblClk(nFlags, point);

}


网址:鼠标相关 https://www.yuejiaxmz.com/news/view/933139

相关内容

电脑鼠标怎么修
Pygame鼠标事件详解
电脑鼠标的使用方法
属鼠和属兔的合不合 属鼠的和什么属相最配、相克
鼠标该怎么拿才正确
鼠标的正确使用与日常维护
【鼠标键盘回收 服务/价格信息】
小皮筋拯救 “鼠标手”
鼠标滚轮终于不乱跳了,自己动手更换鼠标滚轮编码器 雷柏7100=================
鼠标自动移动软件: 鼠标自动移动软件:提升工作效率的神器

随便看看