다음을 통해 공유


LB_ADDSTRING 메시지

목록 상자에 문자열을 추가합니다. 목록 상자에 LBS_SORT 스타일이 없으면 목록 끝에 문자열이 추가됩니다. 그렇지 않으면 문자열이 목록에 삽입되고 목록이 정렬됩니다.

매개 변수

wParam

이 매개 변수는 사용되지 않습니다.

lParam

추가할 null 종료 문자열에 대한 포인터입니다.

목록 상자에 소유자가 그린 스타일은 있지만 LBS_HASSTRINGS 스타일은 없는 경우 이 매개 변수는 문자열이 아닌 항목 데이터로 저장됩니다. 항목 데이터를 검색하거나 수정하기 위해 LB_GETITEMDATALB_SETITEMDATA 메시지를 보낼 수 있습니다.

반환 값

반환 값은 목록 상자에 있는 문자열의 인덱스(0부터 시작)입니다. 오류가 발생하면 반환 값은 LB_ERR입니다. 새 문자열을 저장할 공간이 부족한 경우 반환 값은 LB_ERRSPACE입니다.

설명

목록 상자에 소유자가 그린 스타일과 LBS_SORT 스타일이 있지만 LBS_HASSTRINGS 스타일은 없는 경우 시스템이 WM_COMPAREITEM 메시지를 목록 상자의 소유자에게 한 번 이상 전송하여 목록 상자에 새 항목을 적절하게 배치합니다.

LB_INITSTORAGE 메시지는 항목 수가 많은(100개 이상) 목록 상자의 초기화 속도를 높이는 데 도움이 됩니다. 후속 LB_ADDSTRING 메시지가 가능한 가장 짧은 시간이 걸리도록 지정된 양의 메모리를 예약합니다. wParamlParam 매개 변수에 대한 예상 비용을 사용할 수 있습니다. 과대 평가하는 경우 추가 메모리가 할당됩니다. 과소 평가하는 경우 요청된 금액을 초과하는 항목에 대해 일반 할당이 사용됩니다.

목록 상자에 WS_HSCROLL 스타일이 있고 목록 상자보다 더 넓은 문자열을 추가하는 경우 가로 스크롤 막대가 나타나도록 LB_SETHORIZONTALEXTENT 메시지를 보냅니다.

ANSI 애플리케이션의 경우 시스템은 CP_ACP를 사용하여 목록 상자의 텍스트를 유니코드로 변환합니다. 이로 인해 문제가 발생할 수 있습니다. 예를 들어, 일본어 Windows의 유니코드가 아닌 목록 상자에 있는 악센트 부호가 있는 로마 문자는 깨져서 표시됩니다. 이 문제를 해결하려면 애플리케이션을 유니코드로 컴파일하거나 소유자가 그린 목록 상자를 사용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2003 [데스크톱 앱만 해당]
헤더
Winuser.h(Windows.h 포함)

추가 정보

참조

LB_DELETESTRING

LB_INSERTSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT

WM_COMPAREITEM