> さち@超初心者です。はじめまして! はじめまして
> 角形の中心の座標をPixelで求めたいのですが、どうしてもうま > くいきません;; > : > ここのPixelX とPixelY でノードの中心をPixel単位で得るつもり > なんですが、どうもずれているみたいです。
ウィンドウにはいろいろとオフセットをとる必要があるので それが原因かな? (オフセット:ウィンドウの枠の立体的に見せている部分とか ツリービューのくぼんだように見せているところとか)
' 中心をTwipsで格納 PixelX = r.Left - trvTree.Left + (r.Right - r.Left) / 2 PixelY = r.Top - trvTree.Top + (r.Bottom - r.Top) / 2 ' 中心座標をPixelに変換 PixelX = PixelX / Screen.TwipsPerPixelX PixelY = PixelY / Screen.TwipsPerPixelY ' ここでPixelX、PixelYはツリービューのクライアントと座標なので ' スクリーン座標に変換 Pnt1.x = PixelX Pnt1.y = PixelY Call ClientToScreen(trvTree.hwnd, Pnt1) PixelX = Pnt1.x PixelY = Pnt1.y
こんな感じでどうでしょうか? 自分であれこれ足して位置を求めるのはとても面倒です。
> 恥をしのんで伺いますが、何がまずいんでしょうか? ”恥”なんてとんでもないです。 僕もインターネットでいっぱい教わりました。
では、また。
|