窗口的坐标问题(100分)

Z

zjwyyh

Unregistered / Unconfirmed
GUEST, unregistred user!
程序中有这样的要求
当点击dbgrid的某个单元格,一个新的窗口显示出来,但窗口的左上角必须在该单元格的右下角。
我试了很多次效果不满意。
有什么好的办法呢?
 
你可以通过dbgrid的top,left,height,width以及单元格的数量,选中单元格的序号,每个单元格的高度的宽度推算出这个单元格的右下角坐标,然后将新窗体的top,left设置成这个坐标就可以了
 
计算列好办,可以用column的width属性,可行怎么计算??
即使算出了这个坐标一定是相对于dbgrid所在的窗体(因为是根据dbgrid的left ,top算出来的),而窗体的top,left 又是针对于桌面的,按理新窗体的top,left 因为主窗口的left,top加上相应算出的cell的右下角坐标(这个坐标现在相对于主窗体)。可是你可以试试一定有误差。
 
要加上一个坐标系的转换,要从系统坐标系转换到当前窗口的坐标系,还是反之
我记得函数名是clienttoscreen和screentoclient这样经过转换之后的坐标,应该
是可以通过上面各位朋友提供的方法进行计算了。
 
接受答案了.
 

Similar threads

S
回复
0
查看
743
SUNSTONE的Delphi笔记
S
S
回复
0
查看
624
SUNSTONE的Delphi笔记
S
D
回复
0
查看
745
DelphiTeacher的专栏
D
D
回复
0
查看
747
DelphiTeacher的专栏
D
顶部