728x90
반응형

[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();
}

 

728x90
반응형

+ Recent posts