mfc 리스트 박스 예제

마이크로소프트는 목록 상자에 대 한 플랫폼 SDK 이름이 „ListBox 컨트롤”이기 때문에 매우 혼란 스러운 것 들을 만들었습니다 하지만 MFC 프로그래머는 일반적으로 사용 하 여 „목록 컨트롤” CListCtrl 클래스의 인스턴스를 참조 하, 혼란. 또한 „목록 보기 컨트롤”의 MFC 클래스 이름은 CListCtrl이고 CListView는 뷰 클래스입니다. „ListBox 컨트롤”에 대 한 MFC 클래스 이름은 CListBox 이므로 뷰 클래스가 없는 경우를 제외 하 고 그것에 대 한 보기 클래스도 CListView 될 것으로 예상 합니다. 다음은 이요약입니다. 소유자-그리기 목록 상자의 시각적 측면이 변경될 때 프레임워크에서 호출됩니다. 멤버 변수 탭을 선택한 다음 생성된 목록 보기의 개체 ID를 선택하고 (내 예에서는 IDC_LIST1) `변수 추가` 버튼을 누릅니다: 반환 값 – 1은 목록 상자가 키스트리스트에 대한 응답으로 기본 작업을 수행해야 함을 나타냅니다. Oke. 기본 구현반환 – 1. 확장 된 선택을 시작 하려면 여러 선택 목록 상자에 앵커를 설정 합니다. 목록 상자에 문자열을 추가하는 것은 단순히 AddString() 함수를 호출하는 것만으로도 매우 간단합니다. 목록 상자에 LBN_SORT 스타일이 있으면 새 항목이 올바른 위치에 삽입됩니다. 그렇지 않으면 목록의 끝에 추가됩니다.

읽기 전용 목록 상자를 원하는 경우 알림 스타일이 꺼져 있는 경우 없음을 사용하므로 알림 메시지가 전송되지 않습니다. 목록 상자에는 사용자가 보고 선택할 수 있는 파일 이름과 같은 항목 목록이 표시됩니다. 목록 상자에 사용할 수 있는 알림 메시지는 다음과 같습니다. 목록 상자에LB_NOTIFY 스타일이 있어야 합니다. 목록 상자는 항목 목록을 로드하는 데 사용됩니다. 사용자는 목록 상자를 사용하여 항목을 추가, 선택 및 삭제할 수 있습니다. 재정의에서 값을 반환하여 프레임워크에 수행한 작업을 알려야 합니다. 반환 값 -1 또는 – 2는 항목을 선택하는 모든 측면을 처리했음을 나타내며 목록 상자에서 추가 작업이 필요하지 않음을 나타냅니다. 반환하기 전에 – 1 또는 – 2, 당신은 선택을 설정하거나 캐리트 또는 둘 다 를 이동할 수 있습니다.

선택 영역을 설정하려면 SetCurSel 또는 SetSel을 사용합니다. 카를을 이동하려면 SetCaretIndex를 사용합니다. 클래스 마법사를 사용하면 목록 상자에 OnSelChanged 함수를 추가합니다. 이를 지원하기 위해 목록의 각 항목에는 DWORD가 연결되어 있을 수 있으며 정렬에 관계없이 문자열에 첨부된 상태로 유지됩니다. 이미지 목록 상자에는 이미지 목록이 표시됩니다. 텍스트를 표시할 수 없습니다. b가장 가까운 목록 상자 항목의 클라이언트 영역 외부에 있는 경우 TRUE로 설정되는 BOOL 변수에 대한 외부 참조, pt가 가장 가까운 목록 상자 항목의 클라이언트 영역 내에 있는 경우 FALSE입니다. 이벤트 처리: 목록 상자는 다음과 같은 알림 메시지를 수신합니다. 단일 선택 목록 상자에서 문자열을 검색하고 선택합니다.

mfc 리스트 박스 예제