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


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

Posted by Uz on 1999/11/10 00:35:11

In Reply to: ツリービューのノードの座標について Posted by さち on 1999/11/09 23:03:55


    > さち@超初心者です。はじめまして!
    はじめまして

    > 角形の中心の座標を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

    こんな感じでどうでしょうか?
    自分であれこれ足して位置を求めるのはとても面倒です。

    > 恥をしのんで伺いますが、何がまずいんでしょうか?
    ”恥”なんてとんでもないです。
    僕もインターネットでいっぱい教わりました。

    では、また。


記事スレッド一覧