さち@超初心者です。はじめまして! ツリービューのアクティブなノードの座標の求め方を探っている うちにたどり着きました。
「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単位で得るつもり なんですが、どうもずれているみたいです。
恥をしのんで伺いますが、何がまずいんでしょうか?
|