德尔普网络做网站怎么样,京东app下载平台,苏州网站建设布局,土地流转网站建设报告本节我们讲述鼠标的一些基础知识。
本节必须掌握的知识点#xff1a; 鼠标
6.1.1 鼠标 鼠标是1964年由Douglas Engelbart发明的#xff0c;用来取代由键盘输入的繁琐指令#xff0c;简化电脑操作。早期的鼠标是单键鼠标#xff0c;只有一个键#xff0c;后来逐步改进为双…本节我们讲述鼠标的一些基础知识。
本节必须掌握的知识点 鼠标
6.1.1 鼠标 鼠标是1964年由Douglas Engelbart发明的用来取代由键盘输入的繁琐指令简化电脑操作。早期的鼠标是单键鼠标只有一个键后来逐步改进为双键鼠标和带滚轮的双键鼠标。 ■检测鼠标
我们可以使用GetSystemMetrics函数来判断是否连接了鼠标
fMouse GetSystemMetrics (SM_MOUSEPRESENT);
当鼠标已被安装时fMouse的值为TRUE非零否则值为0。但是在Windows98中不论鼠标是否连接上该函数的返回值总是TRUE。在Windows NT中该函数的返回值是正确的。
为了确定所安装鼠标的按钮个数可以利用以下语句
cButtons GetSystemMecrics (SM_CMOUSEBUTTONS);
若没有安装鼠标该函数的返回值为0。但是在Windows 98下该函数在没有安装鼠标时还是返回2。
习惯用左手的用户可以利用Windows控制面板来切换鼠标的按钮。程序也可以通过检 査是否调用了带SM_SWAPBUTTON参数的GetSystemMetrics函数判断鼠标的按钮是否被切换但是这种方法通常没有必要。食指控制的按钮被认为是左键即使该按钮在物理位置上位于鼠标的右侧。但是在一个计算机培训程序中如果想在屏幕上画出一个鼠标 在这种情况下可能需要知道鼠标的按钮是否己被切换。
●在控制面板中还可以设定鼠标的其他参数比如鼠标双击的速度。从Windows应用 程序中调用SystemParametersinfo函数可以获取或设定这个参数信息。
SystemParametersInfo用于获取或设置系统参数的信息。它允许你查询和修改各种系统设置如桌面背景、屏幕分辨率、鼠标速度等。
以下是 SystemParametersInfo 函数的原型
BOOL SystemParametersInfo( UINT uiAction, // 操作类型 UINT uiParam, // 相关参数 PVOID pvParam, // 相关数据 UINT fWinIni // 更新方式
);
返回值
如果函数调用成功返回值为非零值TRUE。
如果函数调用失败返回值为零FALSE。
SystemParametersInfo 函数的使用方法取决于所需的操作类型和参数。以下是一些常见的示例用法
1获取桌面背景路径
WCHAR wallpaperPath[MAX_PATH];
SystemParametersInfo(SPI_GETDESKWALLPAPER, MAX_PATH, wallpaperPath, 0);
在这个示例中SPI_GETDESKWALLPAPER 是操作类型MAX_PATH 是缓冲区大小wallpaperPath 是接收桌面背景路径的缓冲区。 2设置鼠标速度
int mouseSpeed 10; // 设置鼠标速度为 10
SystemParametersInfo(SPI_SETMOUSESPEED, 0, (PVOID)mouseSpeed,
SPIF_UPDATEINIFILE);
在这个示例中SPI_SETMOUSESPEED 是操作类型(PVOID)mouseSpeed 是要设置的鼠标速度值SPIF_UPDATEINIFILE 指定更新系统设置。 【注意】具体的操作类型、参数和更新方式取决于你想要实现的具体功能。详细的操作类型和参数值可以在相关的文档或参考资料中找到。
●获取鼠标位置GetCursorPos
BOOL GetCursorPos( LPPOINT lpPoint // 接收鼠标位置的指针
);
该函数用于获取当前鼠标的屏幕坐标位置并将结果存储在指定的 POINT 结构中。 ●设置鼠标位置SetCursorPos
BOOL SetCursorPos( int X, // 鼠标的水平坐标 int Y // 鼠标的垂直坐标
);
该函数用于设置鼠标的屏幕坐标位置。通过提供目标位置的水平和垂直坐标可以将鼠标移动到指定的位置。 ■鼠标热点 当Windows用户移动鼠标时Windows系统会在显示设备上移动一个位图格式的小图 标称为“鼠标指针”。鼠标指针具有一个单像素精度的“热点”hot spot。热点在显示设备上指示了一个精确的位置。当我提到屏幕上鼠标指针的位置时实际上是指热点的位罝。
Windows为程序提供了几种预定义的鼠标指针。最常用的是斜向箭头称为 IDC_ARROW定义在WINUSER.H头文件中的标识符。
箭头的顶点即为热点。IDC_CROSS指针被本章后面的BLOKOUT程序所采用的热点 位于十字形图案的中心。IDC_WAIT指针呈沙漏形不同的Windows版本会有所不同一般用在程序中表示忙碌状态。程序员还可以设计属于自己的指针。本书会在第十章讲述如何设计自定义鼠标指针。对一个具体窗口来说默认的鼠标指针在定义窗口类结构时就被指定了。是否还记得初始化窗口类时指定的鼠标位图例如
wndclass.hCursor LoadCursor (NULL, XDC_ARR0W); 在 Windows 平台上可以使用以下函数来获取和设置鼠标热点位置
●获取鼠标热点位置GetIconInfo
BOOL GetIconInfo( HICON hIcon, // 光标图标句柄 PICONINFO piconinfo // ICONINFO 结构指针
);
该函数用于获取光标图标的信息包括光标热点位置。通过传递光标图标的句柄和指向 ICONINFO 结构的指针可以获取光标图标的热点位置。
●设置鼠标热点位置SetCursor
HCURSOR SetCursor( HCURSOR hCursor // 新的光标句柄
);
该函数用于设置当前光标。通过传递一个新的光标句柄可以更改当前光标并指定新的热点位置。 ■显示和隐藏鼠标
●显示/隐藏鼠标光标ShowCursor
int ShowCursor( BOOL bShow // 指定是否显示鼠标光标
);
该函数用于显示或隐藏鼠标光标。通过传递 TRUE 或 FALSE 来决定是否显示鼠标光标。 ■鼠标消息 鼠标消息是指在 Windows 系统中与鼠标操作相关的消息。当用户与鼠标进行交互时系统会生成相应的鼠标消息以通知应用程序有关鼠标操作的信息。
在 Windows 消息循环中可以通过检查消息的消息类型来确定是否为鼠标消息并进一步处理相应的操作。以下是一些常见的鼠标消息
●WM_MOUSEMOVE表示鼠标移动消息。当用户移动鼠标时系统会发送该消息并包含当前鼠标的屏幕坐标。
●WM_LBUTTONDOWN表示左键按下消息。当用户按下鼠标左键时系统会发送该消息并包含当前鼠标的屏幕坐标。
●WM_LBUTTONUP表示左键释放消息。当用户释放鼠标左键时系统会发送该消息并包含当前鼠标的屏幕坐标。
●WM_RBUTTONDOWN表示右键按下消息。当用户按下鼠标右键时系统会发送该消息并包含当前鼠标的屏幕坐标。
●WM_RBUTTONUP表示右键释放消息。当用户释放鼠标右键时系统会发送该消息并包含当前鼠标的屏幕坐标。
●WM_MOUSEWHEEL表示鼠标滚轮消息。当用户滚动鼠标滚轮时系统会发送该消息并包含滚动的距离和方向。
这些消息是在 Windows 消息循环中使用的常见鼠标消息你可以在应用程序的消息处理过程中捕获并响应这些消息。使用消息处理函数如 WndProc可以通过检查消息的消息类型来处理相应的鼠标操作。