工控编程吧
标题:
238上位机VC MFC指定鼠标在指定区域活动
[打印本页]
作者:
qq263946146
时间:
2016-3-2 21:54
标题:
238上位机VC MFC指定鼠标在指定区域活动
(, 下载次数: 5)
上传
点击文件名下载附件
238上位机VC MFC指定鼠标在指定区域活动
功能展示
有些时候,我们程序在执行特定功能时,想让用户鼠标在指定范围内活动直到我们程序完成功能为止,我们当前例程实现鼠标在指定范围内移动的功能,点击不同按钮,会将鼠标移动到下一按钮内移动,效果如图,为了使功能更完美,大家可以再对系统按键进行处理,具体的处理方法可以参考例程221;
要点提示
限制鼠标的移动范围可以使用函数ClipCursor()实现。该函数把鼠标限制在屏幕上的一个矩形区域内,如果调用SetCursor或用鼠标设置的一个随后的鼠标位置在该矩形区域的外面,则系统自动调整该位置以保持鼠标在矩形区域之内。
函数原型为BOOLClipCursor(CONST RECT * lpRect)IpRect:指向RECT结构的指针,该结构包含限制矩形区域左上角和右下角的屏幕坐标,如果该指针为NULL(空),则鼠标可以在屏幕的任何区域移动;
如果成功,返回值非零;如果失败,返回值为零;
实现功能
1.新建基于对话框的应用程序
2.拖拽四个按钮<限制鼠标在右按钮移动><限制鼠标在下按钮移动><限制鼠标在左上按钮移动><取消限制>,关联函数
void CGkbc8Dlg::OnMovetoright()
{
CRect rc;
GetDlgItem(IDC_MOVETOBUTTOM)->GetWindowRect(rc);
ClipCursor(&rc);
}
void CGkbc8Dlg::OnMovetobuttom()
{
CRect rc;
GetDlgItem(IDC_MOVETOTOPLEFT)->GetWindowRect(rc);
rc.top-=15;
ClipCursor(&rc);
}
void CGkbc8Dlg::OnMovetotopleft()
{
CRect rc;
GetDlgItem(IDC_MOVETORIGHT)->GetWindowRect(rc);
ClipCursor(&rc);
}
void CGkbc8Dlg::OnCancelall()
{
ClipCursor(NULL);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/870e818d70141d270cc10b036539d329/0/0/w_19rsxfxk1h.swf-albumId=5506830809-tvId=5506830809-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4