검색결과 리스트
SendMessage에 해당되는 글 1건
- 2013.02.23 ListBox Message, LB_메세지 종류
1.ListBox 생성
HWND hList; //전역변수
hList=CreateWindow("listbox",NULL,WS_CHILD |
WS_VISIBLE | WS_BORDER |
LBS_NOTIFY | LBS_NOINTEGRALHEIGHT |
WS_VSCROLL,
10,100,900,200,hWnd,(HMENU)
ID_LISTBOX,hInst,NULL);
SendMessage(hList, LB_RESETCONTENT,0,0);
2.Message종류
포인터 = 끝이 NULL값인 배열의 주소
포인터의 길이 = 배열의 크기(최대 크기)
아이템 인덱스 = 0을 기준으로 아이템의 인덱스
low = low-word 하위워드
high = high-word 상위워드
설정할 값 = 각 메세지마다 설정할 값
메세지 | 설명 | wParam | lParam |
LB_ADDFILE | DlgDirList 함수에 의해 채워진 리스트 박스에 파일을 추가한다. | 사용 안함 | 포인터 |
LB_ADDSTRING | 문자열 항목을 추가하여 그 인덱스를 리턴한다. | 사용 안함 | 포인터 |
LB_DELETESTRING | 문자열 항목을 삭제하며 남아있는 항목의 개수를 리턴한다. | 아이템 인덱스 | 사용 안함 |
LB_DIR | 파일 목록을 리스트 박스에 추가한다. | 플래그 | 포인터 |
LB_FINDSTRING | 주어진 검색식에 맞는 첫 번째 항목의 인덱스를 조사한다. | 찾을 위치 0이면 처음부터 | 포인터 |
LB_FINDSTRINGEXACT | 주어진 검색식과 정확하게 일치하는 항목의 인덱스를 조사한다. | 찾을 위치 0이면 처음부터 | 포인터 |
LB_GETANCHORINDEX | 마우스에 의해 마지막으로 선택된 항목의 인덱스를 조사한다. | 사용 안함 | 사용 안함 |
LB_GETCARETINDEX | 포커스 사각형을 가진 항목의 인덱스를 조사한다. | 사용 안함 | 사용 안함 |
LB_GETCOUNT | 총 항목 개수를 조사한다. | 사용 안함 | 사용 안함 |
LB_GETCURSEL | 현재 선택되어 있는 항목의 인덱스를 조사한다. | 사용 안함 | 사용 안함 |
LB_GETHORIZONTALEXTENT | 스크롤 가능한 폭을 픽셀 단위로 리턴한다. | 사용 안함 | 사용 안함 |
LB_GETITEMDATA | 주어진 항목의 데이터를 조사한다. | 아이템 인덱스 | 사용 안함 |
LB_GETLOCALE | Locale 정보를 조사한다. 상위워드에는 국가코드, 하위워드에는 언어 ID가 전달된다. | 사용 안함 | 사용 안함 |
LB_GETSEL | 항목의 선택 상태를 조사한다. | 아이템 인덱스 | 사용 안함 |
LB_GETSELCOUNT | 다중 선택 리스트 박스에서 선택된 항목의 개수를 조사한다. | 사용 안함 | 사용 안함 |
LB_GETSELITEMS | 다중 선택 리스트 박스에서 선택된 항목의 인덱스를 조사한다. | 포인터의 길이 | 포인터 |
LB_GETTEXT | 주어진 항목의 문자열을 조사한다. | 아이템 인덱스 | 포인터 |
LB_GETTEXTLEN | 주어진 항목의 문자열 길이를 조사한다. | 아이템 인덱스 | 사용 안함 |
LB_GETTOPINDEX | 화면에 보이는 최상위 항목의 인덱스를 조사한다. | 사용 안함 | 사용 안함 |
LB_INISTORAGE | 대량의 데이터를 추가할 때 메모리를 미리 준비하도록 한다. 이 메세지를 미리 보내놓으면 필요한 만큼 메모리를 확보하므로 삽입 속도가 빨라진다. | 아이템의 개수 | 메모리의 크기 |
LB_INSERTSTRING | 주어진 위치에 문자열을 삽입한다. | 아이템 인덱스 -1이면 마지막 | 포인터 |
LB_ITEMFROMPOINT | lParam으로 주어진 좌표에 가장 가까운 항목의 인덱스를 조사한다. 좌표는 리스트 박스의 작업영역 좌표이다. | 사용 안함 | low x좌표 high y좌표 |
LB_RESETCONTENT | 모든 항목을 삭제한다. | 사용 안함 | 사용 안함 |
LB_SELECTSTRING | 주어진 검색식에 일치하는 첫 번째 문자열을 선택한다. | 찾을 위치 0이면 처음부터 | 포인터 |
LB_SELITEMRANGE | 주어진 범위의 항목들을 선택한다. | TRUE면 선택 ZERO면 반전 | low 시작 값 high 끝 값 |
LB_SELITEMRANGEEX | 주어진 범위의 항목들을 선택하되 시작 항목이 끝 항목보다 뒤쪽에 있으면 선택이 취소된다. | 시작 인덱스 | 끝 인덱스 |
LB_SETANCHORINDEX | 마우스에 의해 최후로 선택된 항목을 설정한다. | 새로운 ANCHOR의 인덱스 | 사용 안함 |
LB_SETCARETINDEX | 포커스 사각형을 주어진 항목으로 옮긴다. | 설정할 값 | TRUE,FALSE |
LB_SETCOLUMNWIDTH | 다중 컬럼 리스트 박스에서 컬럼의 폭을 픽셀 단위로 지정한다. | 설정할 값 | 사용 안함 |
LB_SETCOUNT | 총 항목의 개수를 설정한다. | 설정할 값 | 사용 안함 |
LB_SETCURSEL | 주어진 항목을 선택 상태로 만든다. | 아이템 인덱스 | 사용 안함 |
LB_SETHORIZONTALEXTENT | 스크롤이 가능한 폭을 픽셀 단위로 설정한다. 이 폭을 설정하지 않으면 항목의 길이가 아무리 길어도 수평 스크롤 바가 나타나지 않는다. | 설정할 값 | 사용 안함 |
LB_SETITEMDATA | 항목데이터를 대입한다. | 아이템 인덱스 | 설정할 값 |
LB_SETITEMHEIGHT | 개별 항목의 높이를 설정한다. | 아이템 인덱스 | 설정할 값 |
LB_SETLOCALE | Locale값을 설정한다. | 설정할 값 | 사용 안함 |
LB_SETSEL | 다중 선택 리스트박스에서 한 항목을 선택 상태로 만든다. | TRUE면 선택 ZERO면 반전 | 아이템 인덱스 |
LB_SETTABSTOPS | 탭 중지점을 설정한다. | 설정할 값 | 찾아보세요 |
LB_SETTOPINDEX | 주어진 항목이 화면의 최상위에 있도록 스크롤 시킨다. | 아이템 인덱스 | 사용 안함 |
반환되는 메시지 :
LB_OKAY 0
LB_ERR (-1)
LB_ERRSPACE (-2)
Message종류 출처 : http://blog.naver.com/nawoo/80103964940
3.Message사용방법
종류 |
사용법 |
LB_ADDSTRING | SendMessage(hList, LB_ADDSTRING,0,(LPARAM)buffer); //TCHAR buffer[256]; |
LB_RESETCONTENT | SendMessage(hList, LB_RESETCONTENT,0,0); |
LB_GETCURSEL | curNum = SendMessage(hList,LB_GETCURSEL,0,0); |
LB_DELETESTRING |
SendMessage(hList,LB_DELETESTRING,curNum,0); |
LB_ERR | if(curNum == LB_ERR) "Nothing is Selected" |
LB_GETTEXT | SendMessage(hList,LB_GETTEXT,curNum,(LPARAM)buffer); //TCHAR buffer[256]; |
LB_FINDSTRING | curNum = SendMessage(hList, LB_FINDSTRING, -1, (LPARAM)buffer); //TCHAR buffer[256]; |
CEdit의 EN_CHANGE 와 EN_UPDATE 의 차이점 (0) | 2013.04.13 |
---|---|
WINAPI] GetOpenFileName (0) | 2013.03.18 |
BN_CLICKED, BM_CLICK (0) | 2013.03.07 |
IExplore Tab관련, 최상위창 만들기 (0) | 2013.02.23 |
RECENT COMMENT