콤보박스를 이용하여 구글의 검색창에 사용하는 서제스쳔 기능을 구현하고 싶은데요.
검색어 입력시에 db에서 data를 search해 오긴 하는데 목록이 refresh되지 않은 상태로 그냥 열려있습니다.
강제로
SendMessage(ComboBox1.handle, CB_SHOWDROPDOWN, Integer(False), 0)
를 해봐도 close되지 않고 있습니다. mouse로 목록을 다시 열어보면 그제서야 db에서 search한 값이 제대로 보이구요.
OnChange, OnKeyUp Event 모두 다 코딩해봐도 마찬가지 네요.
콤보박스만 가지고 위의 기능을 구현할 수 있는 방법 좀 알고 싶습니다.
쉽게 하세요.
콤보박스 대신에 에디트박스쓰시고 그 아래 리스트박스처럼 검색어를 표시할 수 있는 컨트롤을 하나 놓고 Visible을 False로 만들어주구요.
에디트박스에 키가 입력되면 DB에서 해당하는 값들을 찾아서 리스트박스에 표시하고, Visible이 False이면 Visible을 True로 바꿔주시면 되겠네요...
포커스가 다른 컨트롤로 바뀌면 리스트박스의 Visible을 False로, 리스트박스에서 검색된 아이템을 선택하면 그 값을 에디트박스에 넣어주고 역시 Visible을 False로...
이렇게 하면 똑같이 되겠네요...