본문 바로가기

Programming/MFC

TextProgress 사용하기


 

사용자 삽입 이미지
 
 
위의 검은색으로 칠한 부분의 Progress의 내용에 텍스트를 삽입하고 색을 바꾸어 칠한다.
 
// 헤더에 멤버를 등록한다.
// 일반 Progress를 멤버로 만들고 클래스명만 바꾸면 된다.
// Bursting Progress
 CTextProgressCtrl m_ctrl_progress_burst;
 
 
// 구현
// 기본 배경색과 Range를 설정하고, 텍스트도 설정한다.
// Progress Ctrl Set
 // Range는 Max Burst Interval로 정한다.
 m_ctrl_progress_burst.SetRange( 0, g_pMainFrame->m_nTimeSliceInterval ) ;
 m_ctrl_progress_burst.SetBkColor( RGB( 0xFF, 0xFF, 0xFF ) ) ;
 m_ctrl_progress_burst.SetBarBkColor( RGB( 0xFF, 0xFF, 0xFF ) ) ;
 m_ctrl_progress_burst.SetBarColor( RGB( 0x00, 0x99, 0x00 ) ) ;
 m_ctrl_progress_burst.SetPos( 0 ) ; 
 CString str ;
 str.Format( _T( "[%d/%dms]  "), 0, g_pMainFrame->m_nTimeSliceInterval ) ;
 m_ctrl_progress_burst.SetWindowText( str ) ;
 m_ctrl_progress_burst.MoveWindow( 490, top_y+9, 232, 20 ) ;
 
 
// 값이 변경될때마다 다음과 같이 설정하면 된다.
// Progress Set Pos
void CDHG2000View::SetProgressPos( int nPos )
{
 // Range는 Max Burst Interval로 정한다.
 m_ctrl_progress_burst.SetRange( 0, g_pMainFrame->m_nTimeSliceInterval ) ;
 
 // Total Burst Duration
 g_pMainFrame->m_nBurstTotalDuration += nPos ; 
 CString str ;
 str.Format( _T( "[%d/%dms]  "), g_pMainFrame->m_nBurstTotalDuration, g_pMainFrame->m_nTimeSliceInterval ) ;
 m_ctrl_progress_burst.SetWindowText( str ) ;
 
 // Bursting Progress
 m_ctrl_progress_burst.SetPos( g_pMainFrame->m_nBurstTotalDuration ) ;
}
 
 

'Programming > MFC' 카테고리의 다른 글

ExplorerView  (0) 2006.11.01
Thread 강제 종료  (0) 2006.09.27
레지스트리에 등록된 프로그램을 실행 시키기  (0) 2006.09.06
System Error Codes  (0) 2006.09.05
하나의 프로그램만 실행시키고 싶다면..  (0) 2006.09.01