| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1821 人关注过本帖, 1 人收藏
标题:vfp怎么获取当前鼠标的坐标
只看楼主 加入收藏
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
收藏
得分:0 
貌似我做过这种外挂的东西
表单一个,TIMER控件一个,LABEL两个
在LOAD中写代码
PUBLIC GetCursorPos
Declare integer GetCursorPos IN win32api string
TIMER的interval 为500
在timer的TIMER事件中写代码

p1=repl(chr(0),8)
GetCursorPos(@p1)
dime num[8]
for i=1 to 8
trans(asc(substr(p1,i,1)),"@0")
num[i]=right(trans(asc(substr(p1,i,1)),"@0"),2)
endfor
x=val("0x"+num[4]+num[3]+num[2]+num[1])
y=val("0x"+num[8]+num[7]+num[6]+num[5])
thisform.label1.Caption=ALLTRIM(STR(X))
thisform.label2.Caption=allt(STR(y))
运行,移动鼠标,就明白了

有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2021-10-26 16:58
fown
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:58
帖 子:1229
专家分:171
注 册:2005-5-26
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

有人说VFP不行了,我想说,你连VFP十分之一的功能都不会用,你怎么知道VFP不行?本人拒绝回答学生的问题我回答问题一般情况下只提供思路不提供代码,请理解
2021-10-26 17:00
风向2021
Rank: 1
来 自:河南信阳
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-10-23
收藏
得分:0 
回复 10楼 foxfans
DECLARE LONG GetCursorPos IN WIN32API STRING @
LOCAL structPos, posX, posY
structPos = REPLICATE(CHR(0), 8)
IF GetCursorPos(@structPos)=1
    posX = CTOBIN(LEFT(structPos,4),"4RS")
    posY = CTOBIN(RIGHT(structPos,4),"4RS")
    ?posX,PosY
    ?INT((posX/1440)*65536),INT((PosY/900)*65536) &&这里就是相对于屏幕的当前坐标内部转换值,lParam
   
ENDIF
 稍改了一下,测试接近需要,感谢!
2021-10-27 11:05
快速回复:vfp怎么获取当前鼠标的坐标
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034516 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved