mfc 콤보박스 예제

mfc 콤보박스 예제

이 m_cbExample는 CComboBox 예제 MFC 코드에서 더 사용됩니다. 이 작업은 CCombobox 멤버 함수 DeleteString을 사용하여 수행할 수 있습니다. 이 함수에는 콤보 상자 안에 있는 항목의 인덱스가 필요합니다. 콤보 상자 컨트롤은 공간 절약형입니다. 항목 목록에서 다중 선택이 필요하지 않은 경우 콤보 상자는 그러한 장소에서 좋은 선택입니다. 이 문서 “CComboBox 예제” 문자열 목록의 조작에 대 한 MFC CComboBox 클래스를 사용 하는 방법을 설명 합니다. ENTER 키는 기본적으로 드롭 리스트가 열려 있을 때만 콤보 상자에서 처리되며, 이 경우 마우스 클릭과 동일한 효과를 가지며 선택을 합니다. 간단한 콤보 상자는 ENTER 키를 전혀 처리하지 않으며 상위 대화 상자로 전달됩니다. ENTER 키를 다른 방법으로 처리하려면 콤보 상자를 하위 클래스로 지정하고 처리기를 작성해야 합니다.

처리기를 추가할 수 있는 시작 점으로 Chris Maunder에 의해 자동 완성 콤보박스 구현을 체크 아웃할 수 있습니다. 다음은 콤보 박스 컨트롤에 대한 메시지 매핑의 목록입니다 – ON_CBN_DROPDOWN 콤보 상자의 목록 상자는 드롭 다운하려고합니다 (볼 수 있도록). 이 알림 메시지는 CBS_DROPDOWN 또는 CBS_DROPDOWNLIST 스타일이 있는 콤보 상자에대해서만 발생할 수 있습니다. . 이렇게 하려면 첫 번째 단계는 콤보 상자 컨트롤 내에서 선택한 항목의 인덱스를 찾는 것입니다. 그런 다음 해당 위치에 있는 항목을 다음과 같이 당겨야 합니다. 콤보 상자 컨트롤 내부의 문자열 위치는 반환 값입니다. 문자열을 찾는 데 실패한 경우 CB_ERR을 반환합니다.

나는 모든 경우에 사용하는 “CIDCombo”라는 클래스가 있습니다. 이것은 내가 미리로드 된 콤보 상자를 사용하여 자신을 한 두 번째 시간 후에 발명되었다 (참고 : 단지 뭔가를 사용할 수 있기 때문에, 그것은 그것을 사용하는 것이 좋습니다 것을 의미하지 않는다!) CIDCombo가하는 일은 테이블에서 쌍, 문자열 ID 및 관련 매핑 된 값을 테이블에 지정할 수 있게합니다. 표는 기본적으로 선택된 항목을 결정하는 두 가지 방법이 있습니다. 클래스 마법사를 사용하여 컨트롤 및 데이터 변수를 컨트롤과 연결할 수 있습니다. 비교 항목truct에 대한 설명은 CWnd::OnCompareItem을 참조하십시오. 콤보 상자의 편집 컨트롤에서 문자를 선택합니다. 참고: WM_KEYDOWN 및 WM_CHAR 메시지를 처리 하려면 콤보 상자의 편집 및 목록 상자 컨트롤을 하위 클래스, CEdit 및 CListBox에서 클래스를 파생 하 고 파생 된 클래스에 해당 메시지에 대 한 처리기를 추가 해야 합니다.

0

You may also like