Foxtable(狐表)用户栏目专家坐堂 → [求助]如何根据相对位置确定其坐标?


  共有11654人关注过本帖树形打印复制链接

主题:[求助]如何根据相对位置确定其坐标?

帅哥哟,离线,有人找我吗?
don
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
[求助]如何根据相对位置确定其坐标?  发帖心情 Post By:2012/3/29 11:33:00 [显示全部帖子]

  如附件中,如何根据左侧控件及顶上控件的宽及高,确定它的坐标?
  1.[A01]因无左侧控件及顶上控件,则它坐标为(0,0);     
  2. A02左侧为A01,无顶上控件,表示它与左侧控件等高,则它坐标为(300,0);  
  3. A07顶上为A03,无左侧紧控件,表示它与顶上控件等宽,则它坐标为(600,100); 
  4. BBB左侧为A01,顶上为AA1,则它坐标为(300,1800);    
布局如Excel表的下面部分  
   
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:zb.rar
[此贴子已经被作者于2012-3-29 12:46:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
don
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/29 13:46:00 [显示全部帖子]

   呵呵,唐兄好!是俺搞錯了,正確的是:A03 ,A07 ,A08, A09 ,A10 ,AA1的高依次為:

       100 ,200 ,300, 400,500, 500

所以BBB的Y坐標應該為: Sum( 100 ,200 ,300, 400,500, 500) = 2000

則為(300,2000)才是

 回到顶部
帅哥哟,离线,有人找我吗?
don
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/29 14:05:00 [显示全部帖子]

OK,多謝老唐!

 回到顶部
帅哥哟,离线,有人找我吗?
don
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/29 14:57:00 [显示全部帖子]

還有點問題:如輸入沒按順序輸入,則有問題,代碼還須修正.


图片点击可在新窗口打开查看此主题相关图片如下:bb.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2012-3-29 15:00:14编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
don
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/29 15:38:00 [显示全部帖子]

唐兄辛苦了!不過我想不能根據名稱排序的.
我的初衷是:大量的控件,不能讓用戶一個一個地確定坐標,想用這個較簡單的相對坐標方法,
用戶只要分別列出控件的寬,高及其左側及上層控件,坐標就能確定下來.

 回到顶部
帅哥哟,离线,有人找我吗?
don
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/29 16:41:00 [显示全部帖子]

多謝老大!不過還是沒達標喲:不是顶上控件 Is Null 其y坐标就 = 0,因如有左側控件,應該根據左側控件一直往上追,直到左上角控件來確定其坐標!

如表中A13,只標出左側為A12,則應根據以下數據計算:

图片点击可在新窗口打开查看此主题相关图片如下:b11.jpg
图片点击可在新窗口打开查看


A13:X=1700(A01+A02+A03+A11+A12的寬)
A13:y= 1000(A03+A07+A08+A09的高)
[此贴子已经被作者于2012-3-29 16:42:31编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
don
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/29 17:10:00 [显示全部帖子]

以下是引用狐狸爸爸在2012-3-29 16:46:00的发言:
我有点糊涂了,一般来说,有左侧控件或顶上控件中的任何一个,都可以确定这个控件的位置了,为什么BBB同时有左侧控件和顶上控件?
规则:1.只标左侧控件,表示与左侧控件等高,Y坐标一样;2.只标上层控件,表示与上层控件等宽,X坐标一样;
     3.BBB同时标左侧和上层控件,表示这是个不规则控件,其X是左侧控件X+左侧控件的宽,Y是上层控件Y+上层控件的高.


 回到顶部
帅哥哟,离线,有人找我吗?
don
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/30 12:04:00 [显示全部帖子]

以下是引用唐尸三摆手在2012-3-29 17:19:00的发言:

don兄,根据名称排序只是在代码运行过程中排序,并不妨碍表中数据行的顺序啊?


不好意思,昨晚有点累,早早睡了.图片点击可在新窗口打开查看


如把表中名称A03改为B03,相应左侧和上层也改为B03,则数据不正确,B03前面应为A01,A02但代码根据名称排序,结果B03排后了.这就是我说不能根据名称排序的原因.


 回到顶部
帅哥哟,离线,有人找我吗?
don
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12999 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2012/3/30 12:47:00 [显示全部帖子]

以下是引用程兴刚在2012-3-30 12:29:00的发言:
表事件写代码,修改左侧控件和顶部控件后,修改设计到该控件的所有X、y坐标的值最方便!
呵呵,我昨晚也想到表事件.
不过这不能解决用户乱序输入的问题(正确顺序输入是:从左而右,从上而下)


 回到顶部