タイトル : [解決]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 |