6.コンボボックスで重複しない項目だけを追加登録する |
1.コンボボックスで重複しない項目だけを追加登録する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定: 使用 API:SendMessage その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。 :
|
1.コンボボックスで重複しない項目だけを追加登録する |
Option Explicit '指定のウィンドウにメッセージを送る(P750) Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _ ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long Private Const CB_FINDSTRINGEXACT = &H158 '完全一致検索(P816) Private Sub Combo1_KeyPress(KeyAscii As Integer) Dim Ret As Integer If KeyAscii = vbKeyReturn Then Ret = SendMessage(Combo1.hWnd, CB_FINDSTRINGEXACT, -1, Combo1.Text) If Ret = -1 Then Combo1.AddItem Combo1.Text '見つからなかったので追加 MsgBox "追加登録しました。" Else MsgBox "すでに登録されています" End If End If End Sub コンボボックスでは、Combo1.Text の値を検索しますので、リストボックス用のコードを使用すると登録済みになります。 尚、コード上から登録する場合にも上記を応用すれば使用できますので、重複している物を除きたい場合にご利用下さい。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
ComboBox のテキスト部の高さを設定する |