ツリービューのノードの座標について


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by さち on 1999/11/09 23:03:55

    さち@超初心者です。はじめまして!
    ツリービューのアクティブなノードの座標の求め方を探っている
    うちにたどり着きました。

    「Visual Basic で プログラムを 楽しもう!!」を参考にさせ
    ていただきながら、アクティブなノードの反転表示されている四
    角形の中心の座標をPixelで求めたいのですが、どうしてもうま
    くいきません;;



    Pnt1.x = 0
    Pnt1.y = 0
    Call ClientToScreen(trvTree.hwnd, Pnt1)
    Pnt2.x = trvTree.Left / Screen.TwipsPerPixelX
    Pnt2.y = trvTree.Top / Screen.TwipsPerPixelY
    Call ClientToScreen(Me.hwnd, Pnt2)

    mex = Me.Left / Screen.TwipsPerPixelX
    mey = Me.Top / Screen.TwipsPerPixelY

    r.Left = Pnt2.x + (lpData(0) + Pnt1.x - Pnt2.x)
    r.Top = Pnt2.y + (lpData(1) + Pnt1.y - Pnt2.y)
    r.Right = Pnt2.x + (lpData(2) + Pnt1.x - Pnt2.x)
    r.Bottom = Pnt2.y + (lpData(3) + Pnt1.y - Pnt2.y)

    PixelX = mex + r.Left - Pnt2.x + (r.Right - r.Left) / 2
    PixelY = mey + r.Top - Pnt2.y + (r.Bottom - r.Top) / 2

    ここのPixelX とPixelY でノードの中心をPixel単位で得るつもり
    なんですが、どうもずれているみたいです。

    恥をしのんで伺いますが、何がまずいんでしょうか?


記事スレッド一覧