2013-08-20 2 views
0

표준 Windows/MFC ComboBox (드롭 다운 모드)에는 자동 완성 기능이있어서 해제하고 싶지만 어떻게해야할지 모릅니다.ComboBox의 자동 완성 기능 끄기

예제 1 : 목록 값이 "Abc"및 "Def"인 ComboBox를 만듭니다. 편집 값으로 "A"를 입력하고 드롭 다운 버튼을 사용하십시오. "A"는 "Abc"로 변경됩니다.

예 2 : 동일한 시작 값. 드롭 다운을 열고 편집 값으로 "A"를 입력하고 Tab 키를 누릅니다. "A"는 "Abc"로 변경됩니다.

이 예제는 Visual Studio IDE 대화 상자 편집기 테스트 모드에서도 작동합니다. 컴파일 된 exe는 필요하지 않습니다.

"A"에서 "Abc"로의 변경은 기능 일 가능성이 있지만 고객이 원하지 않습니다. 그것을 막을 수있는 방법이 있습니까?

+0

내 자신의 거의 비슷한 콤보 박스를 쓰거나 다소 많았습니다. – user178379

답변

0

SHAutoComplete을 호출하여 모든 편집 컨트롤의 자동 완성 동작을 미세 조정할 수 있습니다. ComboBox의 Edit 컨트롤 부분에 대한 핸들을 얻으려면 ComboBox 컨트롤에 CBEM_GETEDITCONTROL 메시지를 보냅니다.

원치 않는 기능을 제거하려면 SHAutoComplete의 플래그에 SHACF_USETAB을 포함해서는 안됩니다.

+0

감사합니다. 소리는 좋지만 작동하지 않는 것 같습니다. 방금 대화 상자, 콤보 상자 및 콤보 상자 편집 컨트롤에 대해 SHACF_AUTOAPPEND_FORCE_OFF | SHACF_AUTOSUGGEST_FORCE_OFF를 사용하여 테스트했습니다. 모두 S_OK를 반환하지만 문제는 그대로 유지됩니다. – user178379

+0

두 플래그의 경우 설명서에는 다음이 필요합니다. * "이 플래그는 SHACF_FILESYS ** * 또는 SHACF_URL ** * 플래그 중 하나 이상과 함께 사용해야합니다."* – IInspectable

+0

죄송합니다. SHACF_AUTOAPPEND_FORCE_OFF | SHACF_AUTOSUGGEST_FORCE_OFF | SHACF_FILESYSTEM | SHACF_URLALL로 시도해보십시오. 다시 모두 S_OK를 반환하지만 문제는 남아 있습니다. – user178379