VB6,如何获取到某个spread 单元格的坐标位置?
我想实现如下图所示的效果,在spread某个单元格的的右部分和下部分,加上其他VB控件,但是我获取spread这个单元格的坐标和宽度高度后,运行结果并不正确。应该怎么设置呢回复 1楼happy.zjy的帖子
如果你是知道的鼠标位置,可以通过SSGetCellFromPixel方法得到单元格的行和列。
鼠标位置可以通过鼠标相关事件,比如MouseUp,MouseMove来获取。 回复 2楼Alice的帖子
我觉得你好像没有看明白我说的意思。是全键盘操作的。 回复 3楼happy.zjy的帖子
请问,你是说全部都用键盘操作?
那么你想知道的是单元格的Row,Column的索引么?还是其他的信息呢? 回复 4楼Alice的帖子
想知道某个单元格的left,top,width
这些能获取到,问题是无法用这几个值来定位其他控件。和VB6默认的像素单位好像不一致。 回复 5楼happy.zjy的帖子
因为单位不同。
可以按照如下设置。
1.设置UnitType.
fpSpread1.UnitType = UnitTypeTwips
2.单位之间进行转换。
换算的方法为:1 twips=1/72 pixel 能举个列子吗?得到一个单元格的left,top,width,height 回复 7楼happy.zjy的帖子
5楼你提到可以获取到left,right,top,width。
将你获取到的值按照单位转换的方法,换算成和VB6默认一致的即可。 回复 8楼Alice的帖子
额,单元换算的事情,我了解了。
我想问的是,用什么spread的什么属性和方法,能得到某一个单元格的left,top ?
eg:
单击某一单元格的时候,把text1这个控件,移动到这个单元格上面
Private Sub fpSpread1_Click(ByVal Col As Long, ByVal Row As Long)
Me.Text1.move???
End Sub
??? 那里,应该用spread的什么属性或方法? 回复 9楼happy.zjy的帖子
很抱歉回复晚了。
GetCellPos方法可以返回特定单元格的位置和长宽,单位是wips。参考文档:http://sphelp.grapecity.com/WebHelp/Spread8/WebSiteHelp/funct199.html#510918
SSGetCellRect方法可以返回单元格rectangle坐标,具体请参考文档:http://sphelp.grapecity.com/WebHelp/Spread8/WebSiteHelp/funct14c.html#959420
具体你可以根据需求选择。
另外根据之前在2楼的提示,你可以通过相关的鼠标事件,比如MouseDown来获取鼠标位置。
页:
[1]
2