다음을 통해 공유


LB_INSERTSTRING 메시지

목록 상자에 문자열 또는 항목 데이터를 삽입합니다. LB_ADDSTRING 메시지와 달리 LB_INSERTSTRING 메시지는 LBS_SORT 스타일이 있는 목록을 정렬하지 않습니다.

매개 변수

wParam

문자열을 삽입할 위치의 인덱스(0부터 시작)입니다. 이 매개 변수가 -1이면 문자열이 목록의 끝에 추가됩니다.

lParam

삽입할 null 종료 문자열에 대한 포인터입니다. 목록 상자에 소유자가 그린 스타일은 있지만 LBS_HASSTRINGS 스타일은 없는 경우 이 매개 변수는 문자열이 아닌 항목 데이터로 저장됩니다. LB_GETITEMDATALB_SETITEMDATA 메시지를 전송하여 항목 데이터를 검색하거나 수정할 수 있습니다.

반환 값

반환 값은 문자열이 삽입된 위치의 인덱스입니다. 오류가 발생하면 반환 값은 LB_ERR입니다. 새 문자열을 저장할 공간이 부족한 경우 반환 값은 LB_ERRSPACE입니다.

설명

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

목록 상자에 WS_HSCROLL 스타일이 있고 목록 상자보다 더 넓은 문자열을 삽입하는 경우 LB_SETHORIZONTALEXTENT 메시지를 보내 수평 스크롤 막대가 나타납니다.

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

요구 사항

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

추가 정보

참조

LB_ADDSTRING

LB_SELECTSTRING

LB_SETHORIZONTALEXTENT