工控编程吧
标题:
236上位机VC MFC操作系统鼠标的设置与还原
[打印本页]
作者:
qq263946146
时间:
2016-3-1 22:02
标题:
236上位机VC MFC操作系统鼠标的设置与还原
(, 下载次数: 5)
上传
点击文件名下载附件
236上位机VC MFC操作系统鼠标的设置与还原
功能展示
电脑游戏我们应该都有玩过,如植物大战僵尸鼠标是动态的与游戏的环境相融合个性鼠标,我们当前例程也实现电脑鼠标的任意设置,效果如图。点击设置电脑鼠标后,可以浏览静态或动态的鼠标文件进行设置,点击还原电脑鼠标,可以恢复电脑原始鼠标;
要点提示
电脑系统鼠标的设置可以用函数SystemParametersInfo()函数原型为BOOL SetSystemCursor(HCURSORhcur,DWORD id);该函数使一个应用程序定制系统光标。它用hcur规定的光标内容代替id定义的系统光标内容,接着销毁hcur。
函数参数说明:
1.hcur:光标的句柄,该函数hcur标识的光标的内容代替id定义的系统光标内容。系统通过调用DestroyCursor函数销毁hur。因此hcur不能是由LoadCursor函数载入的光标。要指定一个从资源载入的光标,先用CopyCursor函数复制该光标,然后把该副本传送给SetSystemCursor函数。
2.Id:指定由hcur的内容替换系统光标。
下面是一系列的系统光标标识符:
OCR_APPSTARTING:标准箭头和小的沙漏;OCR_NORAAC:标准箭头
OCR_CROSS:交叉十字线光标:OCR_HAND:手的形状(WindowsNT5.0和以后版本)
OCR_HELP:箭头和向东标记;OCR_IBEAM:I形梁;OCR_NO:斜的圆
OCR_SIZEALL:四个方位的箭头分别指向北、南、东、西
OCR_SIZENESEW:双箭头分别指向东北和西南;OCR_SIZENS:双箭头,分别指向北和南
OCR_SIZENWSE:双箭头分别指向西北和东南;OCR_SIZEWE:双箭头分别指向西和东
OCR_UP:垂直箭头:OCR_WAIT:沙漏返回值:如果成功,返回非零值;如果失败,返回值为零。可调用GetLastError()函数获取具体 的错误代码。
另外使用SetSystemCursor(HCURSORhcur,DWORD id);后可用SystemParametersInfo(SPI_SETCURSORS, 0, 0,SPIF_SENDWININICHANGE);恢复系统原来的鼠标。
实现功能
1.新建基于对话框的应用程序
2.拖拽两个按钮<设置电脑鼠标><还原电脑鼠标>关联函数,实现电脑鼠标的设置与还原
void CGkbc8Dlg::OnSet()
{
CFileDialog Dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,"ani(.ani)|*.ani|cur(.cur)|*.cur||");
if(IDOK ==Dlg.DoModal())
::SetSystemCursor(::LoadCursorFromFile(Dlg.GetPathName()),32512);
}
void CGkbc8Dlg::OnRestore()
{
/*还原鼠标 方法一
if(NULL!=m_OldCursor)
::SetSystemCursor(m_OldCursor,32512);
*/
/*还原鼠标 方法二*/
SystemParametersInfo(SPI_SETCURSORS, 0, 0, SPIF_SENDWININICHANGE);
}
复制代码
3.程序退出时调用一次鼠标还原函数OnRestore() ;
4.添加成员变量 HCURSORm_OldCursor;//用于还原系统鼠标用并初始化m_OldCursor=CopyCursor(::GetCursor());
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/f1836be0a6786477031ad034a5329fc8/0/0/w_19rsxg0out.swf-albumId=5506881209-tvId=5506881209-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4