[Spin Control]
"스핀 단추 컨트롤" (up-down 컨트롤이 라고도 함)은 사용자가 클릭 하 여 스크롤 위치 또는 도우미 컨트롤에 표시 되는 숫자와 같은 값을 증가 시키거나 감소 시킬 수 있는 화살표 단추 쌍입니다. Spin 단추 컨트롤과 연결 된 값을 현재 위치 라고 합니다. 스핀 단추 컨트롤은 "버디 창" 이라는 도우미 컨트롤과 함께 사용 되는 경우가 가장 많습니다.
이 컨트롤 (및 CSpinButtonCtrl 클래스)은 windows 95/98 및 WINDOWS NT 버전 3.51 이상에서 실행 되는 프로그램에만 사용할 수 있습니다.
사용자에 게는 스핀 단추 컨트롤과 해당 버디 창이 단일 컨트롤 처럼 표시 되는 경우가 많습니다. 스핀 단추 컨트롤을 자동으로 버디 창 옆에 배치 하 고 버디 창의 캡션을 현재 위치로 자동으로 설정 하도록 지정할 수 있습니다. 스핀 단추 컨트롤을 편집 컨트롤과 함께 사용 하 여 사용자에 게 숫자 입력을 요청할 수 있습니다.
위쪽 화살표를 클릭 하면 현재 위치가 최대값으로 이동 하 고 아래쪽 화살표를 클릭 하면 현재 위치가 최소로 이동 합니다. 기본적으로 최소값은 100이 고 최대값은 0입니다. 최소 설정이 최대 설정 (예: 기본 설정이 사용 되는 경우) 보다 클 때마다 위쪽 화살표를 클릭 하면 위치 값이 줄어들고 아래쪽 화살표를 클릭 하면 해당 값이 커집니다.
버디 창이 없는 spin button 컨트롤은 간단한 스크롤 막대의 일종으로 작동 합니다. 예를 들어 탭 컨트롤은 사용자가 추가 탭을 뷰로 스크롤할 수 있도록 스핀 단추 컨트롤을 표시 하는 경우도 있습니다.
[progress]
void CMy0120Dlg::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
LPNMUPDOWN pNMUpDown = reinterpret_cast<LPNMUPDOWN>(pNMHDR);
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
// pNMUpDown->iPos : 변화가 되기 전의 값을 가진다.
int result = pNMUpDown->iPos + pNMUpDown->iDelta;
CString s;
s.Format(L"%d\n", result);
GetDlgItem(IDC_BUTTON1)->SetWindowTextW(s);
*pResult = 0;
}
void CMy0120Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.
static int count = 0;
count += 5;
if (count > 100)
{
count = 0;
}
((CProgressCtrl*)GetDlgItem(IDC_PROGRESS1))->SetPos(count);
CDialogEx::OnTimer(nIDEvent);
}
void CAboutDlg::OnDestroy()
{
CDialogEx::OnDestroy();
// TODO: 여기에 메시지 처리기 코드를 추가합니다.
KillTimer(10);
}
[메뉴 바 만드는 법]
void CMy01202Dlg::OnMenu1()
{
// TODO: 여기에 명령 처리기 코드를 추가합니다.
MessageBox(L"1");
}
void CMy01202Dlg::OnMenu2()
{
// TODO: 여기에 명령 처리기 코드를 추가합니다.
OnOK();
}
![]() |
![]() |
'Education > Edu | .net' 카테고리의 다른 글
# 13) [MFC] 다이얼로그 간 데이터 교환, 통신 (0) | 2021.01.22 |
---|---|
# 12.2) [C/C++] c++ 연산자 재정의 (0) | 2021.01.20 |
# 11.2) [MFC] 시작하기4 (0) | 2021.01.19 |
# 11.1) [MFC] 주식 프로그램 (0) | 2021.01.19 |
# 10.2) [MFC] 시작하기3 (0) | 2021.01.18 |