tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル [解決]TopIndexの実装
投稿日: 2009/10/06(Tue) 21:39
投稿者ダンボ
魔界の仮面弁士さん、いつもいつもありがとうございます。

> 実装してみました。
> http://www.vb-user.net/junk/replySamples/2009.10.05.20.44/ComboBoxTopIndex.TXT

MSDNで、「Visual Basic 2005 では、ComboBox コントロールの TopIndex プロパティと、
ListBox コントロールまたは ComboBox コントロールの Scroll イベントはサポート
されなくなりました。」とまで言うのだからあきらめていたのですが、APIレベルでは
ちゃんとあるのですねぇ。私の調査不足・アプローチの視線がまずかったです。
最悪ならオーナードローでe.Indexでも調べようかとまで思っていたので助かりました。

オーソドックスに、下記でやってみました。(APIは嫌と言いながら)

<System.Runtime.InteropServices.DllImport("USER32.DLL", _
    CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function SendMessage( _
    ByVal hWnd As IntPtr, _
    ByVal wMsg As Integer, _
    ByVal wParam As Integer, _
    ByVal lParam As Integer) As Integer
End Function
Const CB_GETTOPINDEX As Integer = &H15B 'リストボックスの可視領域の最初の項目インデックスの取得
Public ReadOnly Property TopIndex() As Integer
    Get
        Return SendMessage(Me.Handle, CB_GETTOPINDEX , 0, 0)
    End Get
End Property

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。