来源:远方网络 | 2006-1-6 | (有1601人读过)
我们在编制应用软件的过程中,常常需要对光标和鼠标操作,本人在文中介绍了Windows系统中有关实现对鼠标和光标进行操作的API函数,并给出了在Visual C6.0++中利用所介绍的API函数实现对鼠标和光标的操作的代码。
一、隐藏和显示光标
函数: int ShowCursor ( BOOL bShow );
参数 bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标;该函数的返回值为整型,为鼠标隐藏或显示的指数器;返回值大于等于0时显示光标,否则隐藏鼠标;如果安装了鼠标初值为0。
实例:
在基于对话框的应用程序中放置两个Button,名称分别为HideCursor和ShowCursor;再放置一个CStatic控件,名称为Label1,用于显示光标计数器。
源程序为:
// 使光标计数器的值减一,如果小于零,隐藏光标 void CMyTestDlg::OnHideCursor() { int i; i=ShowCursor(FALSE); Cstring string; string.Format(_T("%d" ),i); Label1.SetWindowText(&string); } // 使光标计数器的值加一,如果大于等于零,显示光标 void CMyTestDlg::OnShowCursor() { int j; j=ShowCursor(TRUE); Cstring string; string.Format(_T("%d" ),j); Label1.SetWindowText(&string); } 运行程序,连续单击ShowCursor按钮,你会见到计数器从1(光标显示时初值为0)开始不断加1;再连续单击HideCursor按钮,又会见到计数器不断减1,当计数器为-1时开始隐藏光标。
二、交换鼠标左右键和恢复
函数:
BOOL SwapMouseButton ( BOOL fSwap ); 参数 fSwap,为布尔型,TRUE表示交换鼠标左右键,FALSE表示恢复系统默认左右手习惯;返回值亦为布尔型,交换后,返回值TRUE,恢复正常值为FALSE。
实例:
在应用程序中放置两个Button,名称分别为ReverseMouse和RestoreMouse。
源程序为:
//交换鼠标左右键 void CMyTestDlg::OnReverseMouse() { BOOL T; T=SwapMouseButton(True); If(T) MessageBox("鼠标左右键交换成功!"); }
// 恢复鼠标左右键交换 void CMyTestDlg::OnRestoreMouse() { BOOL T; T=SwapMouseButton(FALSE); If(!T) MessageBox("鼠标左右键恢复为默认状态!"); } 运行程序,左键单击ReverseMouse按钮,此时实现鼠标左右键功能切换;再右键单击RestoreMouse按钮,此时实现鼠标左右键功能恢复。
|