以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何获得窗口中表的第一个单元格的左上右下四个点的相对于窗口的x,y坐标位置?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194404)

--  作者:百事可乐
--  发布时间:2024/12/6 10:08:00
--  如何获得窗口中表的第一个单元格的左上右下四个点的相对于窗口的x,y坐标位置?
如题:如何得到窗口中表的第一个可见单元格的左上右下四个点的相对于窗口的x,y坐标位置?

注:因为有时表格上下滚动后,第一个可见行上方还有小半行显示,所以想得到滚动后的第一个单元格的相对于窗口本身的绝对坐标值。
[此贴子已经被作者于2024/12/6 10:11:48编辑过]

--  作者:有点蓝
--  发布时间:2024/12/6 10:17:00
--  

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

--  作者:百事可乐
--  发布时间:2024/12/6 10:54:00
--  
@有点蓝
老师,下图中就取不到这个x,y坐标了

图片点击可在新窗口打开查看

因为表格上下滚动后,在图中的第一行位置上,事实上还有大概四分之一显示的是上一行的内容(看不全的),所以上面的解决方案只能解决第一行上方没有四分之一行内容的时候才有用。
[此贴子已经被作者于2024/12/6 11:00:14编辑过]

--  作者:百事可乐
--  发布时间:2024/12/6 10:56:00
--  

图片点击可在新窗口打开查看

第一个表的第一个单元格的左上坐标(红点处),可以用表控件.top + 单元格行高 的方法来得到。
但第二个表的第一个单元格的左上坐标(红点处),就无法通过 表控件.top + 单元格行高 的方法来得到。用以上方法得到的是绿点的位置。而我后期是根据这个红点的位置进行一系列判断操作的,现在就是想解决这个问题。麻烦老师了。

当然还有一个办法,如果能控制表格上下滚动时,不要在最顶一行再多显示这四分一行,也能解决问题,但不知道用什么代码来控制。

[此贴子已经被作者于2024/12/6 11:24:03编辑过]

--  作者:有点蓝
--  发布时间:2024/12/6 11:54:00
--  
http://www.foxtable.com/webhelp/topics/2356.htm


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


--  作者:百事可乐
--  发布时间:2024/12/6 12:43:00
--  
图片点击可在新窗口打开查看可以用,太感谢@有点蓝老师了,完美,大赞。

[此贴子已经被作者于2024/12/6 12:46:50编辑过]