分享
 
 
 

Visual C++6.0 API函数操作技巧集

王朝vc·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

我们在编制应用软件的过程中,经常需要对光标和鼠标操作,本人在文中介绍了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按钮,此时实现鼠标左右键功能恢复。

三、得到鼠标双击时间

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键鼠标锁定解锁。当然还可以采用别的方法将鼠标来解锁,如将鼠标锁定在某一个窗口来对鼠标解锁。

总之,API函数的功能强大,我们可以在多种快速开发工具中使用它,以增强我们程序的功能。以上程序在Windows2000、Visual C++ 6.0中调试通过。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有