float g_fPos1 = 1; // Slider 수치값을 저장할 변수
// Dialog Callback Function Create
BOOL CALLBACK DlgMapInfo(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
switch(iMessage)
{
case WM_INITDIALOG:
// SendMessage(GetDlgItem(hDlg, IDC_SLIDER1) Slider를 사용한 Wnd 값을 가져온다.
// TBM_SETRANGE는 SLIDER Range 설정
// MAKELPARAM(최소값, 최대치) 값을 설정한다.
SendMessage(GetDlgItem(hDlg, IDC_SLIDER1), TBM_SETRANGE, false, MAKELPARAM(1, 10));
// 위치값 설정 TBM_SETPOS
SendMessage(GetDlgItem(hDlg, IDC_SLIDER1), TBM_SETPOS, NULL, 0);
// Edit Component에 출력
SetDlgItemInt(hDlg, IDC_EDIT1, (int)g_fPos1, true);
// Dialogbox를 새로 고침
InvalidateRect(hDlg, NULL, true);
return true;
// Slider Scoll 변경 Event 처리
case WM_HSCROLL:
// 실행된 윈도우 Handle 값을 가져와서 Slider Component의 값을 읽어온다.
if((HWND)lParam == GetDlgItem(hDlg, IDC_SLIDER1))
{
// Slider Component 의 값을 읽어와 g_fPos에 저장
// TBM_GETPOS : Slider의 위치값을 읽어온다.
g_fPos1 = (float)SendMessage(GetDlgItem(hDlg, IDC_SLIDER1), TBM_GETPOS, 0, 0);
// Edit Component 에 값을 입력한다.
SetDlgItemInt(hDlg, IDC_EDIT1, (INT)g_fPos1 , FALSE);
InvalidateRect(hDlg, NULL, true);
}
return true;
case WM_DESTROY:
EndDialog(hDlg, IDCANCEL);
return true;
}
return false;
}
※ 주의사항 : Resource에 Dialog를 생성하고 그 안에 Slider Component를 생성한 후에 적용 시켜야 함.
// Dialog Callback Function Create
BOOL CALLBACK DlgMapInfo(HWND hDlg, UINT iMessage, WPARAM wParam, LPARAM lParam)
{
switch(iMessage)
{
case WM_INITDIALOG:
// SendMessage(GetDlgItem(hDlg, IDC_SLIDER1) Slider를 사용한 Wnd 값을 가져온다.
// TBM_SETRANGE는 SLIDER Range 설정
// MAKELPARAM(최소값, 최대치) 값을 설정한다.
SendMessage(GetDlgItem(hDlg, IDC_SLIDER1), TBM_SETRANGE, false, MAKELPARAM(1, 10));
// 위치값 설정 TBM_SETPOS
SendMessage(GetDlgItem(hDlg, IDC_SLIDER1), TBM_SETPOS, NULL, 0);
// Edit Component에 출력
SetDlgItemInt(hDlg, IDC_EDIT1, (int)g_fPos1, true);
// Dialogbox를 새로 고침
InvalidateRect(hDlg, NULL, true);
return true;
// Slider Scoll 변경 Event 처리
case WM_HSCROLL:
// 실행된 윈도우 Handle 값을 가져와서 Slider Component의 값을 읽어온다.
if((HWND)lParam == GetDlgItem(hDlg, IDC_SLIDER1))
{
// Slider Component 의 값을 읽어와 g_fPos에 저장
// TBM_GETPOS : Slider의 위치값을 읽어온다.
g_fPos1 = (float)SendMessage(GetDlgItem(hDlg, IDC_SLIDER1), TBM_GETPOS, 0, 0);
// Edit Component 에 값을 입력한다.
SetDlgItemInt(hDlg, IDC_EDIT1, (INT)g_fPos1 , FALSE);
InvalidateRect(hDlg, NULL, true);
}
return true;
case WM_DESTROY:
EndDialog(hDlg, IDCANCEL);
return true;
}
return false;
}
※ 주의사항 : Resource에 Dialog를 생성하고 그 안에 Slider Component를 생성한 후에 적용 시켜야 함.
'Programming > MFC' 카테고리의 다른 글
[서동권] MFC 메뉴 삭제하는 방법 (0) | 2010.06.06 |
---|---|
[장영수]MFC-Cimage (1) | 2010.05.27 |