Re: ツリービューコントロールについて


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

Posted by Uz on 1998/08/27 01:54:56

In Reply to: ツリービューコントロールについて Posted by 影武者 on 1998/08/23 23:22:30


    > はじめまして、
    おぉ、はじめまして。
    久方ぶりの一般人、今後ともよろしく!

    長らくお待たせしました、
    あんまり使ったことの無いコントロールだったんで、
    調査が長引いてしまいました。
    #amiさんに先を越されまいと、がんばってしまいました。

    ではでは、ほかに簡単な方法があるかもしれませんが、
    とりあえず、動きますのでこれを試してください。
    #そのうち、VBのページに加えておきます。

    '****************************
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
    ByVal hwnd As Long, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    lParam As Any _
    ) As Long

    Private Const TV_FIRST = 4352
    Private Const TVM_GETNEXTITEM = (TV_FIRST + 10)
    Private Const TVGN_CARET = 9
    Private Const TVM_GETITEMRECT = (TV_FIRST + 4)

    Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
    End Type

    '****************************

    Dim hItem As Long
    Dim r As RECT
    Dim lpData(4) As Long

    hItem = SendMessage(trvTree.hwnd, TVM_GETNEXTITEM, TVGN_CARET, ByVal 0)
    lpData(0) = hItem
    Call SendMessage(trvTree.hwnd, TVM_GETITEMRECT, True, lpData(0))
    r.Left = trvTree.Left + lpData(0) * Screen.TwipsPerPixelX
    r.Top = trvTree.Top + lpData(1) * Screen.TwipsPerPixelY
    r.Right = trvTree.Left + lpData(2) * Screen.TwipsPerPixelX
    r.Bottom = trvTree.Top + lpData(3) * Screen.TwipsPerPixelY

    '****************************

    これで、rに領域が格納されます。Form上の twips 座標で

    では、


記事スレッド一覧