1)只好用 Windows API 来做了,的到的单位是 pixel:
Dim rc As Long
Dim rectCtrl As RECT
Dim rectForm As RECT
Dim ctrlLeft As Long
Dim ctrlTop As LongGetWindowRect(Ctrl.hwnd, rectCtrl)
GetWindowRect(me.hwnd, rectForm)
ctrlLeft = rectCtrl.left - rectForm.left
ctrlTop = rectCtrl.top - rectForm.top2)你已经解决了问题。

解决方案 »

  1.   

    我的问题真的有那么难吗? 如果大家还不帮我,那分我可就都给edyang了.
      

  2.   

    兩個控件的高度相加就得到所需控件的實際高度.
    兩個控件的left值相加就得到所需控的實際left值.
    簡單吧!?不可思議!!
      

  3.   

    to zjh_lee:
       恕小弟才疏学浅,我不明白你说的“两个控件的高度相加就得到所需控件的高度”是指哪两个控件,能不能说的再明白些。
      

  4.   

    to bhbcsdn:
       如果有Frame容器,該容器中有Text框,要得到Text在窗体中的top值,計算公式為:
    me.frame1.top+me.text1.top
      

  5.   

    to zjh_lee:
       首先谢谢你的解答,你的方法的确可以,但我的程序要求动态侦测窗体中的所有控件,这些控件的容器可以通过Parent属性来得到,但对于多层容器嵌套的控件,要获得其在窗体的位置,要通过容器的位置求和来处理十分麻烦,edyang的办法能相对简单些。
       好了,这个问题估计也没谁答了,小弟就给两位大哥加分了。