본문 바로가기
프레임워크/MFC

[MFC] Progressbar 사용법.

by 연어바케트 2022. 11. 22.
반응형

1. 프로그래스바 컨트롤 선언

도구상자에서 Progress Contorl을 추가 해준다. 

필자는 테스트 위해서 여러개의 버튼과 Progress Control을 추가하였다. 

 

그 뒤 변수 추가를 하여 Control ID 와 변수 연결을 추가한다. 

그러면 위와 같이 DDX_Contorl을 자동적으로 추가해준다. 

 

2. 프로그래스바 사용하기 

  • 타이머 설정
    Progress를 사용하면 보통 Timer를 이용하여 제일 많이 사용할 것이다.
    아래는 Timer를 이용하여 Progress를 사용하는 방법이다.
void CMFCApplication1View::OnBnClickedButton4()
{
	progressControler.SetRange(0, 1000);
	SetTimer(10, 100, NULL);
}

void CMFCApplication1View::OnTimer(UINT_PTR nIDEvent)
{
	if (nIDEvent == 10)
	{
		progressControler.OffsetPos(25);
	}
	CFormView::OnTimer(nIDEvent);
}

            - SetRange  => Progressbar의 범위를 설정한다. 
            - OffsetPos  => 해당 설정값 만큼 호출 될때 증가 시킨다. 

  • 타이머 결과화면


  • SetPos 설정
void CMFCApplication1View::OnBnClickedButton5()
{
	progress2Ctrl.SetPos(500);
}

         - SetPos => Progress pos 위치를 고정한다.

  • SetPos 결과화면


  • OffsetPos 설정
void CMFCApplication1View::OnBnClickedButton6()
{
	progress3Ctrl.OffsetPos(50);

}

void CMFCApplication1View::OnBnClickedButton7()
{
	progress3Ctrl.OffsetPos(-50);
}

        - OffsetPos  => + 값이면, 증가를 하게 되고, - 값이면 감소를 하게된다. 

  • OffsetPos 결과화면


  • SetMarquee 설정
void CMFCApplication1View::OnBnClickedButton8()
{
	progress3Ctrl.ModifyStyle(0,PBS_MARQUEE);
	progress3Ctrl.SetMarquee(TRUE, 30);
}

void CMFCApplication1View::OnBnClickedButton9()
{
	progress4Ctrl.ModifyStyle(PBS_MARQUEE,0);
}

      - ModifyStyle  => (0, PBS_MARQUEE) 매개 변수를 통해 marquee 스타일을 설정할 수 있다. 
      - SetMarquee  => 첫번째 매개변수,  marquee 애니메이션이 적용여부
                                   두번째 매개변수,  marquee 애니메이션 속도 설정

  • SetMarquee 결과화면


그 외의 함수들은 MS에서 확인 할 수 있다.

참고

https://learn.microsoft.com/ko-kr/cpp/mfc/reference/cprogressctrl-class?view=msvc-170 

 

CProgressCtrl 클래스

자세한 정보: CProgressCtrl 클래스

learn.microsoft.com

 

반응형

댓글