c++ listbox 예제
예제 코드에서는 목록 상자에서 선택한 항목의 데이터를 표시하기 위해 하나를 사용하며 하나만 선택된 다고 가정합니다. 목록 상자의 전체 목적은 사용자가 목록에서 항목을 선택할 수 있도록 하는 것입니다. 예를 들어 제거 버튼과 같은 작업을 수행할 때는 사용자가 단추를 활성화할 때 선택 사항이 바로 변경될 때 알 필요가 없는 경우도 있습니다. 나는 이미 이전 예제에서 단추를 사용했기 때문에 이미 그 단추에 대해 더 잘 알고 있어야하지만이 예제에서 단추를 사용했기 때문에 완료를 위해 제목에 추가 할 수도 있다고 생각했습니다. 그러나 경우에 따라 선택한 항목에 따라 다른 정보나 업데이트된 정보를 표시하여 바로 작업을 수행할 수 있어야 할 수도 있습니다. 이렇게하려면 listbox가 우리에게 전달하는 알림 메시지를 처리해야합니다. 이 경우 사용자가 선택 항목을 수정했다는 LBN_SELCHANGE에 관심이 있습니다. LBN_SELCHANGE는 WM_COMMAND를 통해 전송되지만 일반적으로 클릭에 대한 응답으로만 WM_COMMAND를 처리하는 것과 달리 목록 상자는 여러 가지 이유로 WM_COMMAND를 전송하며, WM_COMMAND를 통해 알려줄 수 있습니다. 알림 코드는 wParam의 HIWORD로 전달되며, 매개 변수의 나머지 절반은 처음에 컨트롤 ID를 제공했습니다. 수정 스타일()이 인상을 줄 수 있더라도 런타임에 이러한 스타일을 변경할 수 없습니다. 원하는 경우 정렬 스타일을 켜고 끕니다.
예를 들어 새 및 만들기를 호출한 다음 삭제하고 스타일을 변경할 때 새 목록을 만들어 목록 상자를 구성하는 것이 가장 좋습니다. 또는 2개의 목록 상자를 겹쳐서 잘못된 스타일로 숨길 수 있습니다. 보내는 메시지는 각 컨트롤마다 매우 다양하며 각 컨트롤에는 고유한 메시지 집합이 있습니다. 가끔은 동일한 메시지가 둘 이상의 컨트롤에 사용되지만 일반적으로 는 의도한 컨트롤에서만 작동합니다. 이것은 목록 상자와 콤보 박스 메시지 (LB_* 및 CB_*)와 함께 특히 성가신 그들은 거의 동일한 작업을 수행 하지만, 교환 할 수 없습니다, 그리고 내가 실수로 내가 인정 하 고 싶은 것 보다 더 혼합 얻을:) CListBox에서 항목 검색: 첫 번째 단계는 선택한 항목의 인덱스를 가져옵니다.