`

Visual C++6.0 【鼠标操作】API函数操作技巧集

 
阅读更多
我们在编制应用软件的过程中,常常需要对光标和鼠标操作,本人在文中介绍了Windows系统中有关实现对鼠标和光标进行操作的API函数,并给出了在VisualC6.0++中利用所介绍的API函数实现对鼠标和光标的操作的代码。

  一、隐藏和显示光标

  函数:intShowCursor(BOOLbShow);

  参数bshow,为布尔型,bShow的值为False时隐藏光标,为True时显示光标;该函数的返回值为整型,为鼠标隐藏或显示的指数器;返回值大于等于0时显示光标,否则隐藏鼠标;如果安装了鼠标初值为0。

  实例:

  在基于对话框的应用程序中放置两个Button,名称分别为HideCursor和ShowCursor;再放置一个CStatic控件,名称为Label1,用于显示光标计数器。

  源程序为:



//使光标计数器的值减一,如果小于零,隐藏光标
voidCMyTestDlg::OnHideCursor()
{
inti;
i=ShowCursor(FALSE);
Cstringstring;
string.Format(_T("%d"),i);
Label1.SetWindowText(&string);
}
//使光标计数器的值加一,如果大于等于零,显示光标
voidCMyTestDlg::OnShowCursor()
{
intj;
j=ShowCursor(TRUE);
Cstringstring;
string.Format(_T("%d"),j);
Label1.SetWindowText(&string);
}

  运行程序,连续单击ShowCursor按钮,你会见到计数器从1(光标显示时初值为0)开始不断加1;再连续单击HideCursor按钮,又会见到计数器不断减1,当计数器为-1时开始隐藏光标。

  二、交换鼠标左右键和恢复

  函数:



BOOLSwapMouseButton(BOOLfSwap);

  参数fSwap,为布尔型,TRUE表示交换鼠标左右键,FALSE表示恢复系统默认左右手习惯;返回值亦为布尔型,交换后,返回值TRUE,恢复正常值为FALSE。

  实例:

  在应用程序中放置两个Button,名称分别为ReverseMouse和RestoreMouse。

  源程序为:



//交换鼠标左右键
voidCMyTestDlg::OnReverseMouse()
{
BOOLT;
T=SwapMouseButton(True);
If(T)
MessageBox("鼠标左右键交换成功!");
}

//恢复鼠标左右键交换
voidCMyTestDlg::OnRestoreMouse()
{
BOOLT;
T=SwapMouseButton(FALSE);
If(!T)
MessageBox("鼠标左右键恢复为默认状态!");
}

  运行程序,左键单击ReverseMouse按钮,此时实现鼠标左右键功能切换;再右键单击RestoreMouse按钮,此时实现鼠标左右键功能恢复。

  三、得到鼠标双击时间

  1、函数:


UINTGetDoubleClickTime(VOID);

  该函数无参数;它的返回值为毫秒,为双击鼠标双击有效的时间间隔。

  实例:

  在窗口中放置一个Button,名称为GetDoubleClickTime;再放置一个名为Label1的CStatic控件,用于显示双击时间。

  源程序为:


//得到并显示鼠标的双击的时间
voidCMyTestDlg::OnGetDoubleClickTime()
{
intDTime;
Cstringstring;
DTime:=GetDoubleClickTime();
string.Format(_T("%d"),Dtime);
Label1.SetWindowText(&string);
}


  运行程序,单击GetDoubleClickTime,在Label1中显示双击的时间,为毫秒级。

  四、设置鼠标双击时间

  函数:


BOOLSetDoubleClickTime(UINTuInterval);

   参数uInterval,表示鼠标双击时间,为毫秒级,系统默认时间为500;

   返回值为布尔值。

  实例:

  在窗口中放置一个Button,名称为SetDoubleClickTime。

  源程序为:


//设置鼠标的双击的时间
voidCmyTestDlg::OnSetDoubleClickTime()
{
BoolT;
T=SetDoubleClickTime(500);
If(T)
MessageBox("成功的设置了鼠标双击时间!");
}

  运行程序,单击BtnSetDoubleClickTime,鼠标双击时间已改变。

  五、将鼠标锁定在一定范围

  函数:


BOOLClipCursor(CONSTRECT*lpRect);

  参数*lpRect,指向鼠标活动矩形区域的指针;返回值为布尔型,表示锁定成功与否。

  实例:

  在窗口中放置两个Button,名称为LockMouse和UnLockMouse。

  源程序为:


//将鼠标锁定在固定区域
voidCmyTestDlg::OnLockMouse()
{
RECTRect;
BOOLbLock;
Rect.left=10;//设置锁定区域大小;
Rect.top=10;
Rect.right=200;
Rect.bottom=200;
bLock:=ClipCursor(&Rect);//限制鼠标移动区域
if(block)
MessageBox("鼠标固定在指定区域!");
}

  将鼠标锁定解锁,其实质是将鼠标锁定在整个屏幕区


voidCmyTestDlg::OnLockMouse()
{
RECTRect;
BOOLbLock;
Rect.left=0;//设置锁定区域大小;
Rect.top=0;
Rect.right=600;
Rect.bottom=800;
Block=ClipCursor(&Rect);
if(block)
MessageBox("鼠标固定在屏幕区域!");
}

  运行程序,单击LockMouse,此时鼠标锁定在固定区域中;再单击UnLockMouse键鼠标锁定解锁。当然还可以采用别的方法将鼠标来解锁,如将鼠标锁定在某一个窗口来对鼠标解锁。

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

分享到:
评论

相关推荐

    Visual C++6.0 API函数操作技巧集之鼠标光标篇

    Visual C++6.0 API函数操作技巧集之鼠标光标篇

    Visual C++6.0 API函数操作技巧集C语言教程

    Visual C++6.0 API函数操作技巧集C语言教程,很详细但绝非菜鸟级可以轻易理解

    1Visual C++ 6.0概述

    Visual C++ 6.0提供了对面向对象技术的支持,利用类将与用户界面设计有关的Windows API函数封装起来,通过MFC类库的方式提供给开发人员,大大提高了程序代码的可重用性;Visual C++ 6.0还提供了功能强大的应用程序...

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

    本文给大家分享了Visual C++6.0 API函数操作技巧集。

    Visual C++ 6.0培训教材.rar

    Visual C++ 6.0是由Microsoft公司推出的基于Windows系统的可视化集成开发... Visual C++ 6.0提供了对面向对象技术的支持,利用类将与用户界面设计有关的Windows API函数封装起来,通过MFC类库的方式提供给开发人员,

    Visual C++ 6.0 使用手册.pdf

    Visual C++ 6.0 是 Microsoft公司推出的Visual Studio 软件开发工具的成员之一. 本书主要介绍C++ 语言基础、Visual C++ 的环境与使用、Run-Time 函数库以及MFC类库。 本书可以作为 Visual C++ 程序员的参考书,也...

    Visual C++ 6.0.rar

    1.3VisualC 6.0的新功能特点 1.3.1 Visual C 6.0的新功能特点 1.3.2Visual C 6.0的版本 1.4Visual C 6.0的安装与启动 1.4.1 VisualC 6.0的安装 1.4.2VisualC 6.0的启动 本章小结 习题 第2章VISUALc 6.0开发环境...

    Microsoft Visual C++ 6.0 运行库参考手册

    chm 版本的便于查询, Microsoft Visual C++ 6.0 运行库参考手册 介绍了一些常用的c函数,并不涉及windowsapi,但是有介绍一些函数,类似于api的。

    Microsoft Visual C++ 6.0运行库参考手册

    Microsoft Visual C++ 6.0运行库参考手册 文件来到wdl格式,内含一个阅读器

    visual c++ 6.0 MFC函数库手册

    visual c++ 6.0 MFC函数库手册

    Microsoft Visual C++ 6.0语言程序设计从入门到精通电子书

    本书由浅入深地讲述了C++语言的基本...全书包含了结构化程序设计和C++面向对象程序设计的方法和技巧,每章都配有丰富的例题与习题,还有与章节配套的上机实训,全部程序均在Microsoft Visual C++ 6.0环境中运行通过。

    基于Visual C++6.0的DLL编程实现

    本文针对这些问题,通过一个简单的例子,即在一个DLL中实现比较最大、最小整数这两个简单函数,全面地解析了在Visual C++编译环境下编程实现DLL的过程,文章中所用到的程序代码在Windows98系统、Visual C++6.0编译...

    Visual C++6.0网络编程技术

    第三章 Visual C++6.0编程基础 49 3.1 Visual C++6.0编程工具简介 49 3.2 面向对象语言C++ 51 3.3 ViualC++6.0的使用 52 3.4 MFC编程概述 57 第四章 Casync Socket类和CSocket类 60 4.1 Casync Socket类 60 4.2 ...

    Visual C++ 6.0编程实例详解.part2

    1.1 MFC与C++ 1.2 VC++组件 1.3 安装 1.3.1 环境 1.3.2 安装过程 第2章 开发环境 2.1 主窗口 2.2 工具栏 2.2.1 Shaod工具栏 2.2.2 Build Mini-bar工具栏 2.3 菜单栏 2.3.1 File菜单 ...

    Visual C++6.0助手破解版

    Visual.Assist.X是一款非常好的Visual Studio .NET 2003、2002插件,支持C/C++、C#、ASP、Visual Basic、Java和HTML等语言,也支持VC++6、VC++5,能自动识别各种关键字、系统函数、成员变量、自动给出输入提示、自动...

    录音程序,visual c++6.0 编写 MFC

    自己编写的一个MFC录音程序,基于waveX API函数,采用双缓冲,程序可以运行。

Global site tag (gtag.js) - Google Analytics