위의 검은색으로 칠한 부분의 Progress의 내용에 텍스트를 삽입하고 색을 바꾸어 칠한다.
// 헤더에 멤버를 등록한다.
// 일반 Progress를 멤버로 만들고 클래스명만 바꾸면 된다.
// Bursting Progress
CTextProgressCtrl m_ctrl_progress_burst;
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 ) ;
// 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 ;
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 ) ;
}
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 |