VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 コンボボックス関係のメニュー
1.ComboBox に関するワンポイントテクニック集
2.コンボボックスのドロップダウンリストをプログラムから表示する
3.コンボボックスのテキスト部の高さを設定する
4.コンボボックスのドロップダウンリスト項目数を変更する
5.アイコン付のコンボボックスを作成する
6.コンボボックスで重複しない項目だけを追加登録する
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載しているコンボボックスに関するサンプル


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 のテキスト部の高さを設定する



このページのトップへ移動します。