在VB工程里新建一个Form1
在Form1上添加一个按纽Command1 和两个标签Label1和Label2
然后在Form1代码窗口里粘贴如下代码:
Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim a As Single
Dim b As Single
MeLabel1 = X
MeLabel2 = Y
End Sub
按F5运行后,鼠标晃动到按纽Command1上时,可以看到Label1和Label2里面有数值在快速变化
该数字就是鼠标在按纽上的XY坐标
Private Sub Command1_MouseMove()就是Command1的鼠标移动事件
同理:
所有拥有MouseMove事件的控件都能用这个方法取得鼠标的当前坐标
我想你应该是要获取被用户点击的那张的坐标吧,首先给你的加一个监听,如果被点击了,获取手机屏幕的宽高,然后获取自身的宽高,屏幕的坐标减去的宽高就是该所在的坐标,如果你要获取相对于其他某个控件的坐标,只要获取另一个控件的坐标,然后进行计算就可以了
不嫌弃的话把下面这两个函数放到你的UIWidget里面。试用了一下好像可以,没把握=。=……[code]CCPoint UIWidget::getAbsolutePosition(){
CCPoint ret = getPosition();
CCNode cobj;
UIWidget uobj = this;
UIWidget tuobj;
bool lastIsUI = true;
while(true){
if(lastIsUI){
tuobj = dynamic_cast(uobj->getWidgetParent());
if(tuobj != NULL){
uobj = tuobj;
retx += uobj->getPosition()x;
rety += uobj->getPosition()y;
lastIsUI = true;
}else{
cobj = dynamic_cast(uobj->getUILayer());
if(cobj == NULL)break;
retx += cobj->getPosition()x;
rety += cobj->getPosition()y;
lastIsUI = false;
}
}else{
cobj = dynamic_cast(cobj->getParent());
if(cobj == NULL)break;
retx += cobj->getPosition()x;
rety += cobj->getPosition()y;
}
}
return ret;
}[/code][code]UILayer UIWidget::getUILayer(){
return m_pUILayer;
}[/code]然后通过getAbsolutePosition就可以获得一个表示坐标的ccpoint了。
以上就是关于VB 获取当前鼠标指向的控件句柄和在控件上的坐标值!全部的内容,包括:VB 获取当前鼠标指向的控件句柄和在控件上的坐标值!、安卓开发 如何获取用户点击图片的坐标、如何获取某个在层容器中的ui控件在屏幕上的绝对坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)