2011/04/06
Windows 7 Taskbar 아이콘에 Progress Bar 출력하기
Windows 7 의 테스트바 아이콘은 많은 기능을 갖고 있다. 그 중 하나인 진행 상태를 표시해 보았다.
Visual Studio 2010 버전을 사용할 경우 이는 대단히 간단한 것이다.
CFrameWnd 의 멤버 변수인 아래 세 개의 함수로 구현할 수 있다.
SetProgressBarState
void SetProgressBarState(
TBPFLAG tbpFlags
);
Progress 의 상태를 설정하는 함수로 인자 아래와 같은 인자를 넘겨줄 수 있다.
TBPF_NOPROGRESS, TBPF_INDETERMINATE, TBPF_NORMAL, TBPF_ERROR, TBPF_PAUSED.
TBPF_NOPROGRESS - Progress 사용하지 않는 상태
TBPF_INDETERMINATE - 끝이 정해지지 않은 상태
TBPF_NORMAL - 기본 상태
TBPF_ERROR - 에러가 발생한 상태로 아래와 같이 붉은색으로 표시 된다.
TBPF_PAUSED - 진행이 멈춘 상태로 아래와 같이 노란색으로 표시 된다.
SetProgressBarRange
void SetProgressBarRange(
int nRangeMin,
int nRangeMax
);
Progress 표시 범위 설정하는 함수로 최소값과 최대값을 전달하여 설정할 수 있다.
SetProgressBarPosition
void SetProgressBarPosition(
int nProgressPos
);
Progress 의 현재 값을 설정하는 함수.
이 함수 사용에 주의할 점은 SetProgressBarState 에서 TBPF_NOPROGRESS, TBPF_INDETERMINATE 에서 설정을하고 SetProgressBarPosition 함수가 수행이 되면 Progress Bar 는 TBPF_NORMAL 상태로 출력하게 된다.
아래 코드는 간단한 사용 예로 실제 진행에 대하 것은 빠진 상태이다.
<
Original Post : http://neodreamer-dev.tistory.com/529
Visual Studio 2010 버전을 사용할 경우 이는 대단히 간단한 것이다.
CFrameWnd 의 멤버 변수인 아래 세 개의 함수로 구현할 수 있다.
- SetProgressBarState
- SetProgressBarRange
- SetProgressBarPosition
SetProgressBarState
void SetProgressBarState(
TBPFLAG tbpFlags
);
Progress 의 상태를 설정하는 함수로 인자 아래와 같은 인자를 넘겨줄 수 있다.
TBPF_NOPROGRESS, TBPF_INDETERMINATE, TBPF_NORMAL, TBPF_ERROR, TBPF_PAUSED.
TBPF_NOPROGRESS - Progress 사용하지 않는 상태
TBPF_INDETERMINATE - 끝이 정해지지 않은 상태
TBPF_NORMAL - 기본 상태
TBPF_ERROR - 에러가 발생한 상태로 아래와 같이 붉은색으로 표시 된다.
TBPF_PAUSED - 진행이 멈춘 상태로 아래와 같이 노란색으로 표시 된다.
SetProgressBarRange
void SetProgressBarRange(
int nRangeMin,
int nRangeMax
);
Progress 표시 범위 설정하는 함수로 최소값과 최대값을 전달하여 설정할 수 있다.
SetProgressBarPosition
void SetProgressBarPosition(
int nProgressPos
);
Progress 의 현재 값을 설정하는 함수.
이 함수 사용에 주의할 점은 SetProgressBarState 에서 TBPF_NOPROGRESS, TBPF_INDETERMINATE 에서 설정을하고 SetProgressBarPosition 함수가 수행이 되면 Progress Bar 는 TBPF_NORMAL 상태로 출력하게 된다.
아래 코드는 간단한 사용 예로 실제 진행에 대하 것은 빠진 상태이다.
m_pFrame = (CMainFrame*)GetParentFrame();
switch ( m_cmbProgressType.GetCurSel() )
{
case 1: // TBPFLAG::TBPF_INDETERMINATE
m_pFrame->SetProgressBarState( TBPFLAG::TBPF_INDETERMINATE );
TRACE("Display Progress TBPFLAG::TBPF_INDETERMINATE \n");
break;
case 2: // TBPFLAG::TBPF_NORMAL
m_pFrame->SetProgressBarState( TBPFLAG::TBPF_NORMAL );
m_pFrame->SetProgressBarRange( 0, 100 );
m_pFrame->SetProgressBarPosition( 72 );
TRACE("Display Progress TBPFLAG::TBPF_NORMAL \n");
break;
case 3: // TBPFLAG::TBPF_ERROR
m_pFrame->SetProgressBarState( TBPFLAG::TBPF_ERROR );
m_pFrame->SetProgressBarRange( 0, 100 );
m_pFrame->SetProgressBarPosition( 72 );
TRACE("Display Progress TBPFLAG::TBPF_ERROR \n");
break;
case 4: // TBPFLAG::TBPF_PAUSED
m_pFrame->SetProgressBarState( TBPFLAG::TBPF_PAUSED );
m_pFrame->SetProgressBarRange( 0, 100 );
m_pFrame->SetProgressBarPosition( 72 );
TRACE("Display Progress TBPFLAG::TBPF_PAUSED \n");
break;
default: // TBPFLAG::TBPF_NOPROGRESS
m_pFrame->SetProgressBarState( TBPFLAG::TBPF_NOPROGRESS );
TRACE("Display Progress TBPFLAG::TBPF_NOPROGRESS \n");
break;
}
<
Original Post : http://neodreamer-dev.tistory.com/529
Labels:
MFC
,
MFC 10
,
Taskbar Progress
,
TistoryOldPost
,
Visual C++
,
Visual C++ 2010
,
Windows 7 Taskbar
,
윈도우 7 테스크바 아이콘
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment