c/c++/winapi

[API] 슬라이더에서 값 읽어오기

밀크빵 2012. 7. 23. 19:37

1.  슬라이더 핸들 가져오기

GetDlgItem(); 

 

2. 범위 설정 // 5단계 (0,1,2,3,4)

SendMessage(hdlg, TBM_SETRANGE, FALSE, MAKELPARAM(0,4));

 

3. 값 가져오기 // pos에 슬라이더 값 저장

int pos = SendDDlgItemMessage(hDlg,IDC_SLIDER1,TBM_GETPOS,0,0);

- 슬라이더가 세로일 경우에는  case WM_VSCROLL: 에서 값을 가져오고

                    가로 일 경우에는 case WM_HSCROLL: 에서 값을 가져온다 

 

4. 읽어온 값 확인 // 에디트 박스 이용.

SetDlgItemInt(hDlg, IDC_EDIT1, pos+1, TRUE);

 

 

int pos=0;
	
	switch(message)
	{
	case WM_INITDIALOG:
		hDlg = GetDlgItem(hDlg,IDC_SLIDER1);
		SendMessage(hDlg,TBM_SETRANGE,FALSE,MAKELPARAM(0,4));
		break;
	
	case WM_VSCROLL:	
			pos = SendDlgItemMessage(hDlg,IDC_SLIDER1,TBM_GETPOS,0,0);
			SetDlgItemInt(hDlg,IDC_EDIT1,pos+1,TRUE);
		break;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDOK:
			PostQuitMessage(0);
		case IDCANCEL:
			EndDialog(hDlg,LOWORD(wParam));
			break;
		}
		break;
	}
	return 0;