在使用VirtualTrees控件的过程中遇到一个问题,请朋友们帮个忙。
我怎么样取到canvas的坐标原点。或者说取canvas这个画布中的某一个坐标在整个控件或屏幕上的坐标位置怎么得到。谢谢。。

解决方案 »

  1.   

    canvas 是哪个控件的?
    坐标原点都是控件客户区的 (0, 0) 
      

  2.   

    控件里的某个点坐标在窗口坐标 X = 控件的LEFT + X 
    Y = 所属控件的TOP + Y
    转换成屏幕坐标
    CLIENTTOSCREEN
      

  3.   

    谢谢楼上的两位回答,不过在VirtualTrees(一个树形控件)控件中,每个节点画的时候都有一个都有一个绘制区域,所以在绘制每个节点时canvas的坐标原点都是跟着节点的位置变动的,这个绘制节点时的那个canvas并不是控件上的那个canvas。
      

  4.   

    子结点再加一次就可以了
     X = 控件的LEFT + 子结点的LEFT + X 
    Y = 所属控件的TOP + 子结点的Top + Y 
      

  5.   

    ScreenToClient 以及 ClientToScreen 函数
    可以获取针对屏幕的绝对坐标。