以文本方式查看主题
- 调频热点 (http://www.fmhot.com/bbs/index.asp)
-- 『 ≡ 山水齐保丁 ≡ 』 (http://www.fmhot.com/bbs/list.asp?boardid=39)
---- [转帖]计算机专业应该用的着 (http://www.fmhot.com/bbs/dispbbs.asp?boardid=39&id=107713)
|
-- 作者:晨冰
-- 发布时间:2007/7/7 14:17:19
-- [转帖]计算机专业应该用的着
一、隐藏和显示光标
函数: 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按钮,此时实现鼠标左右键功能恢复。
三、得到鼠标双击时间
1、函数:
UINT GetDoubleClickTime(VOID); 该函数无参数;它的返回值为毫秒,为双击鼠标双击有效的时间间隔。
实例:
在窗口中放置一个Button,名称为GetDoubleClickTime;再放置一个名为Label1的CStatic控件,用于显示双击时间。
源程序为:
//得到并显示鼠标的双击的时间
void CMyTestDlg::OnGetDoubleClickTime()
{
int DTime;
Cstring string;
DTime:=GetDoubleClickTime();
string.Format(_T("%d" ),Dtime);
Label1.SetWindowText(&string);
}
运行程序,单击GetDoubleClickTime,在Label1中显示双击的时间,为毫秒级。
四、设置鼠标双击时间
函数:
BOOL SetDoubleClickTime ( UINT uInterval ); 参数uInterval,表示鼠标双击时间,为毫秒级,系统默认时间为500;
返回值为布尔值。
实例:
在窗口中放置一个Button,名称为SetDoubleClickTime。
源程序为:
//设置鼠标的双击的时间
void CmyTestDlg::OnSetDoubleClickTime()
{
Bool T;
T=SetDoubleClickTime(500);
If(T)
MessageBox("成功的设置了鼠标双击时间!");
} 运行程序,单击BtnSetDoubleClickTime,鼠标双击时间已改变。
五、将鼠标锁定在一定范围
函数:
BOOL ClipCursor ( CONST RECT *lpRect ); 参数*lpRect,指向鼠标活动矩形区域的指针;返回值为布尔型,表示锁定成功与否。
实例:
在窗口中放置两个Button,名称为LockMouse和UnLockMouse。
源程序为:
//将鼠标锁定在固定区域
void CmyTestDlg::OnLockMouse()
{
RECT Rect;
BOOL bLock;
Rect.left=10;//设置锁定区域大小;
Rect.top=10;
Rect.right=200;
Rect.bottom=200;
bLock:=ClipCursor(&Rect); // 限制鼠标移动区域
if (block)
MessageBox("鼠标固定在指定区域!");
} 将鼠标锁定解锁,其实质是将鼠标锁定在整个屏幕区
void CmyTestDlg::OnLockMouse()
{
RECT Rect;
BOOL bLock;
Rect.left=0;//设置锁定区域大小;
Rect.top=0;
Rect.right=600;
Rect.bottom=800;
Block=ClipCursor(&Rect);
if (block)
MessageBox("鼠标固定在屏幕区域!");
} 运行程序,单击LockMouse,此时鼠标锁定在固定区域中;再单击UnLockMouse键鼠标锁定解锁。当然还可以采用别的方法将鼠标来解锁,如将鼠标锁定在某一个窗口来对鼠标解锁。
|
-- 作者:笑笑太阳
-- 发布时间:2007/7/12 22:08:46
--
说实话 我是学计算机专业的。
但是看了这个我发现我好想没学过!
|
-- 作者:加青柠的雪碧
-- 发布时间:2007/8/15 23:30:07
--
顶楼上的
我和你一样
我也没学过
还要加强学习啊!
|
-- 作者:辰
-- 发布时间:2007/8/17 11:07:02
--
|
-- 作者:刀刀
-- 发布时间:2007/8/17 21:27:19
--
好复杂~~还好没学~~
加油同志们~
|
-- 作者:沐浴春风
-- 发布时间:2007/8/28 20:46:04
--
我先学计算机呢
看了上面的。。不学了
|