あなたは、コンボボックスにCB_SETCURSEL
メッセージを送ることができます。 wParam
のパラメータがSendMessage
の場合、選択したインデックスとして設定するアイテムのインデックスは0から始まり、lParam
は無駄です。
アプリケーションは、CB_SETCURSEL
メッセージを送信して、 コンボボックスのリスト内の文字列を選択します。必要であれば、リストは文字列を ビューにスクロールします。コンボボックスの編集コントロール内のテキストが変更され、 の新しい選択が反映され、リスト内の以前の選択が削除されます。
wParam
:選択する文字列の0から始まるインデックスを指定します。 this パラメータが-1の場合、リスト内の現在の選択が削除され、 編集コントロールがクリアされます。
lParam
:このパラメータは使用されません。
C#例
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern IntPtr SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
const int CB_SETCURSEL = 0x014E;
void SetSelectedIndex(IntPtr comboBoxHandle, int index)
{
SendMessage(comboBoxHandle, CB_SETCURSEL, index, 0);
}
VB.NET例私がまさに必要
<System.Runtime.InteropServices.DllImport("user32.dll")> _
Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, _
ByVal wParam As Integer, ByVal lParam As Integer) As IntPtr
End Function
Const CB_SETCURSEL As Integer = &H14E
Sub SetSelectedIndex(comboBoxHandle As IntPtr, index As Integer)
SendMessage(comboBoxHandle, CB_SETCURSEL, index, 0)
End Sub
。ありがとう。さらに、ComboBoxコントロールのCountを取得する方法はありますか? – klados
あなたは大歓迎です:) –
「CB_GETCOUNT」はアイテム数を取得するためのものです。あなたがそれについての質問をしたら私に通知してください、そして私はあなたのための例を投稿します。 –