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

2016-01-29 12:45 57 1 收藏

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

【 tulaoshi.com - C语言心得技巧 】

  一、隐藏和显示光标

  函数: 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。

  源程序为:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)//交换鼠标左右键
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、函数:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)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,鼠标双击时间已改变。

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

来源:http://www.tulaoshi.com/n/20160129/1487420.html

延伸阅读
BroadcastSystemMessage将一条系统消息广播给系统中所有的顶级窗口GetMessagePos取得消息队列中上一条消息处理完毕时的鼠标指针屏幕位置GetMessageTime取得消息队列中上一条消息处理完毕时的时间PostMessage将一条消息投递到指定窗口的消息队列PostThreadMessage将一条消息投递给应用程序RegisterWindowMessage获取分配给一个字串标识符的消息编...
最近公司在我的推动之下要引入VSS进行源代码管理了,我觉得公司里面规范行的制度太少,特别是在开发过程中的规范就更少了,包括单元测试这样最基本的东西都没有真正的规范下来,所以我想通过VSS的使用,推广单元测试的概念,就算推广过程中有这样的或者那样的困难,但是这样的行动对公司是有利的,对个人也是有利的。现在的问题就是一个度了。...
我曾经写过一个截获MessageBoxW的程序,可以看看,或许对你有一些帮助. 该程序是基于HOOK原理,主要是将自己的函数放到目标PROCESS的地址空间,这里是使用HOOK实现.首先建立一个MOUSE的HOOK程序,然后在全局鼠标HOOK的DLL中做截获动作,可以在PROCESS_ATTACH时做,也可以在鼠标的HOOK链函数中做. 建立全局HOOK我就不说了,可以在网上很多...
功能强大的API(应用程序接口)函数对于VB(VisualBasicForWindows)程序员来说,不愧是很好的编程工具,然而使用API函数的程序员也许都遇到这样的现象。在VB集成环境下,程序运行后,出现一错误信息对话框,按确定键后系统自动退出VB集成环境,此时如果你的程序尚未存盘,那末很遗憾挽回损失已回天乏力。最后一次存盘之后的程序都不复存在。这...