// CCalculate-Meldungshandler void CCalculate::OnBnClickedOk() { canClose = false; //wait until all threads have terminated and memory has been freed isRunning = true; // operation is runing and can be stopped by the user isError = false; GetDlgItem(IDOK)->EnableWindow(false); num_cpu = Ccpuinfo::get_num_cpu(); timelist_position = m_position; pi_digits = m_digits; m_text.Format(_T("Calculating %i digits of Pi with %i threads.\r\nPress \"Stop / Close\" to cancel calculation."), pi_digits, num_cpu); UpdateData(false); CProgressCtrl *progressBar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1); //SetRange() has only support for short! SetRange32 supports 32bit integer! progressBar->SetRange32(0, pi_digits/TRUSTED); progressBar->SetPos(0); if(pi_digits <= 8000) myTimer = SetTimer(1, 1000, 0); else myTimer = SetTimer(1, 2000, 0); CCalculate myThread; AfxBeginThread(CCalculate::Control_Thread, reinterpret_cast<LPVOID>(&myThread), THREAD_PRIORITY_NORMAL, 0, 0, NULL); }
void CListCtrlEx::InsertProgresCtrl(int iIndex, int iStatus) { CHeaderCtrl* pHeader = GetHeaderCtrl(); CRect ColRt; pHeader->GetItemRect(m_iProgressColumn, &ColRt); //get the rect CRect rt; GetItemRect(iIndex, &rt, LVIR_LABEL); rt.top += 1; rt.bottom -= 1; rt.left += ColRt.left; int Width = ColRt.Width(); rt.right = rt.left + Width - 4; rt.left = ColRt.left+1; rt.right = ColRt.right-1; CProgressCtrl *pControl = new CProgressCtrl; pControl->Create(WS_CHILD|WS_VISIBLE, rt, this, IDC_PROGRESS_LIST + iIndex); pControl->SetRange(0, 100); pControl->SetPos(iStatus); pControl->ShowWindow(SW_SHOWNOACTIVATE); //add them to the list m_ProgressList.push_back(pControl); }
BOOL CoptimizerDlg::OnInitDialog() { CSliderCtrl *Slider = (CSliderCtrl *)GetDlgItem(IDC_SLIDER_CUSTOM); CComboBox *CBox = (CComboBox *)GetDlgItem(IDC_COMBO_PRESET); CProgressCtrl *ProgressBar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS); CString buf; CDialog::OnInitDialog(); SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, FALSE); CheckRadioButton(IDC_RADIO_PRESET, IDC_RADIO_CUSTOM, IDC_RADIO_PRESET); Slider->SetRange(1000, 10000); Slider->SetTicFreq(1000); CBox->ResetContent(); for(int i = 0; i < NUMSTRINGS; i++) { buf.LoadString(IDS_STRING1 + i); CBox->AddString(buf); } CBox->SetCurSel(2); SetSlider(Slider, 2); ProgressBar->SetRange(0, 100); return TRUE; }
void CBackEndDialog::SetTaskProgress(float fProgress) { //get the progress bar control CProgressCtrl* pProgress = ((CProgressCtrl*)GetDlgItem(IDC_PROGRESS_TASK)); //set the position (*10 is since it takes integers, and the range is //0 to 1000 for the bar, and 0 to 100 for the progress var (gives finer //granularity)) pProgress->SetPos((int)(fProgress * 10)); //we also want to update the title bar if(m_sSubTaskName.GetLength() > 0) { if(IsIconic()) { CString sTitle; sTitle.Format("%d%% of %s - %s", (int)fProgress, m_sSubTaskName, m_sFilename); //we want to avoid changing the text a whole lot since it causes flickering, so //make sure that the text is actually different CString sOldTitle; GetWindowText(sOldTitle); if(sOldTitle != sTitle) { SetWindowText(sTitle); } } } }
STDMETHODIMP CAtlBase::ShowProgressForm(LONG bShow) { if (bShow) { if (!g_bProgressInited) { g_bProgressInited = TRUE; g_ProgressDlg.Create(NULL); g_ProgressDlg.CenterWindow(); HWND hName = g_ProgressDlg.GetDlgItem(IDC_STATIC_NAME); g_ProgressName.Attach(hName); HWND hProgress = g_ProgressDlg.GetDlgItem(IDC_PROGRESS1); g_ProgressProgress.Attach(hProgress); } g_ProgressDlg.ShowWindow(SW_SHOW); } else { g_ProgressDlg.ShowWindow(SW_HIDE); g_ProgressName.SetWindowText(""); g_ProgressProgress.SetPos(0); } return S_OK; }
void AFXAPI CBaseDlg::DDX_Progress(CDataExchange* pDX, int nIDC, int& value) { CProgressCtrl* ctl = (CProgressCtrl*)pDX->m_pDlgWnd->GetDlgItem(nIDC); if (pDX->m_bSaveAndValidate) value = ctl->GetPos(); else ctl->SetPos(value); }
void CMainFrame::OnBnClickedButton2() { CProgressCtrl* progress = (CProgressCtrl*) m_wndDlgBar.GetDlgItem(IDC_PROGRESS1); int pos = progress->GetPos() - 10; if (pos < 0) pos = 0; progress->SetPos(pos); }
void CListCtrlEx::DeleteItem(int nItem) { if(nItem >= GetItemCount()) return; CProgressCtrl* pCtrl = m_ProgressList.GetAt(nItem); pCtrl->DestroyWindow(); delete pCtrl; m_ProgressList.RemoveAt(nItem); CListCtrl::DeleteItem(nItem); }
CListCtrlEx::~CListCtrlEx() { int Count = (int) m_ProgressList.size(); for(int i = Count - 1; i >= 0; i--) { CProgressCtrl* pControl = m_ProgressList[i]; m_ProgressList.pop_back(); pControl->DestroyWindow(); delete pControl; } }
CListCtrlEx::~CListCtrlEx() { int Count = m_ProgressList.GetSize(); for (int i = 0; i < Count; i++) { CProgressCtrl* pCtrl = m_ProgressList.GetAt(0); pCtrl->DestroyWindow(); delete pCtrl; m_ProgressList.RemoveAt(0); } }
void DialogView::updateBeat() { CProgressCtrl* pProgressCtrl = (CProgressCtrl*) GetDlgItem(IDC_BEAT_BAR); pProgressCtrl->SetPos(100); int wait = 25; HANDLE waitEvent = CreateEvent(0, TRUE, FALSE, NULL); WaitForSingleObject(waitEvent, wait); CloseHandle(waitEvent); pProgressCtrl->SetPos(0); }
BOOL CInstallerUninstallPage::OnInitDialog () { if (!CInstallerPage::OnInitDialog ()) { return FALSE; } SetCtrlItemFont (IDC_UNINSTALL_PAGE_LABEL1); GetDlgItem (IDC_UNINSTALL_PAGE_LABEL1)->SetWindowText (g_AppConfig.GetStatusLabel ()); CProgressCtrl *pProgressCtrl = (CProgressCtrl*)GetDlgItem (IDC_UNINSTALL_PAGE_PROGRESS1); pProgressCtrl->SetRange (0, 100); return TRUE; }
void CCalculate::OnTimer(UINT pParam) { CProgressCtrl *progressBar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS1); //progressBar->SetRange(0, m_digits/TRUSTED); progressBar->SetPos(position); if(canClose) { CString fin; fin.Format(_T("Finished calculation!\r\nCalculated %i digits of Pi in %.3lf sec.\r\nPress \"Stop / Close\" to close this window,\r\nor \"Start\" to begin once again."), pi_digits, diff); m_text = fin; UpdateData(false); GetDlgItem(IDOK)->EnableWindow(true); } }
PUBLIC BOOL UserProgress (HTRequest * request, HTAlertOpcode op, int msgnum, const char * dfault, void * input, HTAlertPar * reply) { char * msg = HTDialog_progressMessage(request, op, msgnum, dfault, input); CRequest * req = (CRequest *) HTRequest_context(request); ASSERT(request != NULL); ASSERT(req != NULL); CProgressCtrl * progress = req->GetProgressBar(); switch (op) { case HT_PROG_READ: { long cl = HTAnchor_length(HTRequest_anchor(request)); if (cl > 0) { long b_read = HTRequest_bodyRead(request); double pro = (double) b_read/cl*100; progress->SetPos((int) pro); } } break; case HT_PROG_WRITE: { long cl = HTAnchor_length(HTRequest_entityAnchor(request)); if (cl > 0) { long b_written = HTRequest_bodyWritten(request); double pro = (double) b_written/cl*100; progress->SetPos((int) pro); } } break; } // Update pane 0 of the status bar if (msg) { CWinComDoc * doc = req->m_pDoc; if (doc) { POSITION pos = doc->GetFirstViewPosition(); CView * view = doc->GetNextView( pos ); CMainFrame * mainframe = (CMainFrame *) view->GetParentFrame(); mainframe->m_wndStatusBar.SetPaneText(ID_SEPARATOR, msg); } HT_FREE(msg); } return YES; }
BOOL CIwProgressPropertyPage::OnInitDialog() { CProgressCtrl* ctlProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS); ctlProgress->SetRange(0, 100); ctlProgress->SetPos(1); CPropertySheet* parent = (CPropertySheet*)GetParent(); parent->PostMessage(PSM_PRESSBUTTON, PSBTN_NEXT, 0); CWnd* pwndNextBut = parent->GetDlgItem(ID_WIZNEXT); CWnd* pwndCancelBut = parent->GetDlgItem(IDCANCEL); if (pwndNextBut) pwndNextBut->EnableWindow(0); if (pwndCancelBut) pwndCancelBut->EnableWindow(0); return TRUE; }
///////////////////////////////////////////////////////////////////////////// // CADDigitView drawing void CADDigitView::OnDraw(CDC* pDC) { ADDigit(pDC); if (gl_bProgress) // 刷新ADDigitView视图时,更新进度条的状态 { if (!gl_bDeviceADRun) // 检查是否设备 { return; } CADFrm* pADFrm = ((CSysApp*)AfxGetApp())->m_ADFrm; // 取得子帧窗口句柄 CProgressCtrl* pProgress = (CProgressCtrl*)(pADFrm->m_wndShowStatus.GetDlgItem(IDC_PROGRESS)); pProgress->SetPos(m_CurrentProgress); m_CurrentProgress++; if (m_CurrentProgress > 50) m_CurrentProgress = 0; gl_bProgress = FALSE; } }
void CIwProgressPropertyPage::UpdateProgress(int nTotal, int nProcessed, const CString& sSupplierName) { CProgressCtrl* ctlProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS); ASSERT(ctlProgress != 0); CWnd* pWnd = GetDlgItem(IDC_STATIC_PROCESSED); ASSERT(pWnd != 0); CWnd* pManager = GetDlgItem(IDC_STATIC_MANAGER); ASSERT(pManager != 0); if (nTotal == -1) { ctlProgress->SetPos(0); CString sStatus = LS (L_PROCESSED_LABEL); pWnd->SetWindowText(sStatus); pManager->SetWindowText(sSupplierName); return; } int nPos; if (nProcessed == nTotal) { nPos = 100; } else { assert (nTotal != 0); nPos = (100 * nProcessed) / nTotal; } ctlProgress->SetPos(nPos); CString sManager; pManager->GetWindowText(sManager); if (sManager.Compare(sSupplierName) != 0) { pManager->SetWindowText(sSupplierName); } CString sStatus = LS (L_PROCESSED_LABEL); sStatus += " "; CString sTmp; CString sFmt = LS (L_PART_OF_TOTAL_FMT); sTmp.Format(sFmt, nProcessed, nTotal); sStatus += sTmp; pWnd->SetWindowText(sStatus); }
void CListCtrlEx::OnPaint() { int i; int Top = GetTopIndex(); int Total = GetItemCount(); int PerPage = GetCountPerPage(); int Last = ((Top+PerPage) > Total)? Total : Top+PerPage; int Count = m_ProgressList.GetSize(); CProgressCtrl* pCtrl; if ((Last-Top) > Count) { for (i = Count; i < Last-Top; i++) { pCtrl = new CProgressCtrl(); CRect rt(1,1,1,1); pCtrl->Create(NULL, rt, this, IDC_PROGRESS_LIST+i); m_ProgressList.Add(pCtrl); } } CHeaderCtrl* pHeader = GetHeaderCtrl(); for (i = Top; i < Last; i++) { CRect ColRt; pHeader->GetItemRect(m_ProgressColumn, &ColRt); CRect rt; GetItemRect(i, &rt, LVIR_LABEL); rt.top += 1; rt.bottom -= 1; rt.left += ColRt.left; rt.right = rt.left + ColRt.Width() - 4; pCtrl = m_ProgressList.GetAt(i-Top); CString strPercent = GetItemText(i, m_ProgressColumn); int nPercent = atoi(strPercent); pCtrl->SetPos(nPercent); pCtrl->MoveWindow(&rt); pCtrl->ShowWindow(SW_SHOWNORMAL); } CListCtrl::OnPaint(); }
BOOL CTransferDlg::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here TRACE("CTransferDlg::OnInitDialog() \n"); CProgressCtrl* pProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_FILE); pProgress->SetRange(0, 100); CProgressCtrl* pTotalProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_TOTAL); pTotalProgress->SetRange(0, 100); m_UpdateMgr.Create(); m_UpdateMgr.BindUIObserver(new MUIObserverTransDlg(this)); PostMessage(WM_TRANSFER_INIT); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CoptimizerDlg::OnBnClickedButton1() { CButton *OptimizeButton = (CButton*)GetDlgItem(IDC_BUTTON1); CButton *CancelButton = (CButton*)GetDlgItem(IDCANCEL); CProgressCtrl *ProgressBar = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS); int RetVal; OptimizeButton->SetWindowText(TEXT("Please wait...")); OptimizeButton->EnableWindow(FALSE); CancelButton->EnableWindow(FALSE); ProgressBar->SetPos(0); OptimizeBoot(OptimizeButton); #ifndef LDRONLY ProgressBar->SetPos(25); OptimizeRegistry(OptimizeButton); ProgressBar->SetPos(50); OptimizeLibraries(OptimizeButton); ProgressBar->SetPos(75); OptimizeSystem(OptimizeButton); #endif ProgressBar->SetPos(100); OptimizeButton->SetWindowText(TEXT("Optimize!")); OptimizeButton->EnableWindow(TRUE); CancelButton->EnableWindow(TRUE); RetVal = MessageBox(TEXT("You need to reboot the system for the changes to take effect. Reboot now?"), TEXT("Done."), MB_OKCANCEL); if(RetVal == IDOK) Reboot(); else InflictLoad(); }
// // Full Description: void CuDlgEventSettingBottom::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; SORTPARAMS sp; if (pNMListView->iSubItem == 0) { sp.m_nItem = pNMListView->iSubItem; if (m_sortListCtrl.m_nItem == sp.m_nItem) sp.m_bAsc = !m_sortListCtrl.m_bAsc; else sp.m_bAsc = TRUE; memcpy (&m_sortListCtrl, &sp, sizeof(m_sortListCtrl3)); CObArray& arrayEvent = m_cListCtrlFullDesc.GetArrayEvent(); CProgressCtrl cProgress; CfEventSetting* pFrm = (CfEventSetting*)GetParentFrame(); if (pFrm) { CxDlgEventSetting* pDlg = (CxDlgEventSetting*)pFrm->GetParent(); if (pDlg && IsWindow (pDlg->m_cStaticProgress.m_hWnd)) { CRect rc; pDlg->m_cStaticProgress.GetWindowRect(rc); pDlg->ScreenToClient(rc); VERIFY (cProgress.Create(WS_CHILD | WS_VISIBLE, rc, pDlg, 1)); } } IVM_DichotomySort(arrayEvent, CompareSubItem, (LPARAM)&m_sortListCtrl, &cProgress); m_cListCtrlFullDesc.Sort ((LPARAM)&m_sortListCtrl, CompareSubItem); } *pResult = 0; }
void CProgressDlg::ParserCmdOutput(CRichEditCtrl &log,CProgressCtrl &progressctrl,HWND m_hWnd,CComPtr<ITaskbarList3> m_pTaskbarList,CStringA &oneline, char ch, CWnd *CurrentWork) { //TRACE(_T("%c"),ch); if( ch == ('\r') || ch == ('\n')) { CString str; // TRACE(_T("End Char %s \r\n"),ch==_T('\r')?_T("lf"):_T("")); // TRACE(_T("End Char %s \r\n"),ch==_T('\n')?_T("cr"):_T("")); if(ClearESC(oneline)) { ch = ('\r'); } int lines = log.GetLineCount(); g_Git.StringAppend(&str,(BYTE*)oneline.GetBuffer(),CP_ACP); str.Trim(); // TRACE(_T("%s"), str); if(ch == ('\r')) { int start=log.LineIndex(lines-1); log.SetSel(start, log.GetTextLength()); log.ReplaceSel(str); } else { int length = log.GetWindowTextLength(); log.SetSel(length, length); if (length > 0) log.ReplaceSel(_T("\r\n") + str); else log.ReplaceSel(str); } if (lines > 500) //limited log length { int end=log.LineIndex(1); log.SetSel(0,end); log.ReplaceSel(_T("")); } log.LineScroll(log.GetLineCount() - log.GetFirstVisibleLine() - 4); int s1=oneline.ReverseFind(_T(':')); int s2=oneline.Find(_T('%')); if (s1 > 0 && s2 > 0) { if(CurrentWork) CurrentWork->SetWindowTextW(str.Left(s1)); int pos=FindPercentage(str); TRACE(_T("Pos %d\r\n"),pos); if(pos>0) { progressctrl.SetPos(pos); if (m_pTaskbarList) { m_pTaskbarList->SetProgressState(m_hWnd, TBPF_NORMAL); m_pTaskbarList->SetProgressValue(m_hWnd, pos, 100); } } } oneline=""; } else { oneline+=ch; } }
void CItemShopLogCommand::Parse( const MSGROOT* message, CListCtrl& listCtrl, CProgressCtrl& progressCtrl, CStatic& resultStatic, CButton& findButton, CButton& stopButton ) const { switch( message->Protocol ) { case MP_RM_ITEM_SHOP_LOG_ACK: { const MSG_RM_ITEM_SHOP_LOG* m = ( MSG_RM_ITEM_SHOP_LOG* )message; if( m->mRequestTick != mTickCount ) { break; } // 080401 LUJ, 이전 로그에 대한 인덱스 세트를 만들어 중복되지 않도록 체크한다 std::set< DWORD > indexSet; { for( int row = 0; row < listCtrl.GetItemCount(); ++row ) { indexSet.insert( _ttoi( listCtrl.GetItemText( row, 0 ) ) ); } } for( DWORD i = 0; i < m->mSize; ++i ) { const MSG_RM_ITEM_SHOP_LOG::Log& data = m->mLog[ i ]; const DWORD row = listCtrl.GetItemCount(); int step = 0; if( indexSet.end() != indexSet.find( data.mIndex ) ) { continue; } CString text; text.Format( _T( "%d" ), data.mIndex ); listCtrl.InsertItem( row, text, 0 ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mDate ) >( data.mDate ) ); listCtrl.SetItemText( row, ++step, mApplication.GetText( data.mType ) ); text.Format( _T( "%d" ), data.mUser.mIndex ); listCtrl.SetItemText( row, ++step, text ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mUser.mId ) >( data.mUser.mId ) ); listCtrl.SetItemText( row, ++step, mApplication.GetItemName( data.mItem.mIndex ) ); text.Format( _T( "%d" ), data.mItem.mDbIndex ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mItem.mQuantity ); listCtrl.SetItemText( row, ++step, text ); } { int minRange; int maxRange; progressCtrl.GetRange( minRange, maxRange ); progressCtrl.SetPos( progressCtrl.GetPos() + m->mSize ); CString text; text.Format( _T( "%d/%d" ), progressCtrl.GetPos(), maxRange ); resultStatic.SetWindowText( text ); // 080523 LUJ, 버튼 활성화 체크가 정상적으로 되도록 수정함 if( progressCtrl.GetPos() == maxRange ) { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); } } break; } case MP_RM_ITEM_SHOP_LOG_SIZE_ACK: { const MSG_DWORD* m = ( MSG_DWORD* )message; const DWORD size = m->dwData; CString text; text.Format( _T( "0/%d" ), size ); resultStatic.SetWindowText( text ); progressCtrl.SetRange32( 0, size ); progressCtrl.SetPos( 0 ); findButton.EnableWindow( FALSE ); stopButton.EnableWindow( TRUE ); listCtrl.DeleteAllItems(); break; } case MP_RM_ITEM_SHOP_LOG_SIZE_NACK: { CString textThereIsNoResult; textThereIsNoResult.LoadString( IDS_STRING1 ); MessageBox( 0, textThereIsNoResult, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_ITEM_SHOP_LOG_STOP_ACK: { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); CString textSearchWasStopped; textSearchWasStopped.LoadString( IDS_STRING2 ); MessageBox( 0, textSearchWasStopped, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_ITEM_SHOP_LOG_NACK_BY_AUTH: { CString textYouHaveNoAuthority; textYouHaveNoAuthority.LoadString( IDS_STRING18 ); MessageBox( 0, textYouHaveNoAuthority, _T( "" ), MB_OK | MB_ICONERROR ); break; } default: { ASSERT( 0 ); break; } } }
int ShowProgress(LPCTSTR pName, float fPencent) { g_ProgressName.SetWindowText(pName); g_ProgressProgress.SetPos((int)(fPencent * 100)); return 0; }
void CFarmLogCommand::Parse( const MSGROOT* message, CListCtrl& listCtrl, CProgressCtrl& progressCtrl, CStatic& resultStatic, CButton& findButton, CButton& stopButton ) const { switch( message->Protocol ) { case MP_RM_FARM_LOG_ACK: { // 080401 LUJ, 이전 로그에 대한 인덱스 세트를 만들어 중복되지 않도록 체크한다 std::set< DWORD > indexSet; { for( int row = 0; row < listCtrl.GetItemCount(); ++row ) { indexSet.insert( _ttoi( listCtrl.GetItemText( row, 0 ) ) ); } } const MSG_RM_FARM_LOG* m = ( MSG_RM_FARM_LOG* )message; if( m->mRequestTick != mTickCount ) { break; } for( DWORD i = 0; i < m->mSize; ++i ) { const MSG_RM_FARM_LOG::Log& data = m->mLog[ i ]; const DWORD row = listCtrl.GetItemCount(); int step = 0; if( indexSet.end() != indexSet.find( data.mIndex ) ) { continue; } CString text; text.Format( _T( "%d" ), data.mIndex ); listCtrl.InsertItem( row, text, 0 ); listCtrl.SetItemText( row, ++step, CA2WEX< sizeof( data.mDate ) >( data.mDate ) ); listCtrl.SetItemText( row, ++step, mApplication.GetText( FARM_LOG_KIND( data.mKind ) ) ); text.Format( _T( "%d" ), data.mFarmIndex ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mZone ); listCtrl.SetItemText( row, ++step, text ); text.Format( _T( "%d" ), data.mPlayerIndex ); listCtrl.SetItemText( row, ++step, text ); // 080423 LUJ, 농장 개선 로그일 때는 값에 표시 // // 주의: 로그가 잘못 표시되고 있음. 소스를 고치면 기존 로그가 손상되므로, 복구툴에서 정정함 // 이에 따라 로그 타입과 실제 표시되는 텍스트가 다를 수 있음 // // 정원 -> 정원, 울타리 -> 축사, 집 -> 울타리, 창고 -> 집, 축사 -> 창고 if( FARM_LOG_KIND_UPGRADE == data.mKind ) { switch( data.mValue1 ) { case FARM_UPGRADE_LOG_KIND_GARDEN: { CString textGarden; textGarden.LoadString( IDS_STRING368 ); listCtrl.SetItemText( row, ++step, textGarden ); break; } case FARM_UPGRADE_LOG_KIND_FENCE: { CString textCage; textCage.LoadString( IDS_STRING367 ); listCtrl.SetItemText( row, ++step, textCage ); break; } case FARM_UPGRADE_LOG_KIND_HOUSE: { CString textFence; textFence.LoadString( IDS_STRING366 ); listCtrl.SetItemText( row, ++step, textFence ); break; } case FARM_UPGRADE_LOG_KIND_WAREHOUSE: { CString textHouse; textHouse.LoadString( IDS_STRING369 ); listCtrl.SetItemText( row, ++step, textHouse ); break; } case FARM_UPGRADE_LOG_KIND_ANIMALCAGE: { CString textWarehouse; textWarehouse.LoadString( IDS_STRING282 ); listCtrl.SetItemText( row, ++step, textWarehouse ); break; } default: { listCtrl.SetItemText( row, ++step, _T( "?" ) ); break; } } } else { text.Format( _T( "%d" ), data.mValue1 ); listCtrl.SetItemText( row, ++step, text ); } text.Format( _T( "%d" ), data.mValue2 ); listCtrl.SetItemText( row, ++step, text ); } { int minRange; int maxRange; progressCtrl.GetRange( minRange, maxRange ); progressCtrl.SetPos( progressCtrl.GetPos() + m->mSize ); CString text; text.Format( _T( "%d/%d" ), progressCtrl.GetPos(), maxRange ); resultStatic.SetWindowText( text ); // 080523 LUJ, 버튼 활성화 체크가 정상적으로 되도록 수정함 if( progressCtrl.GetPos() == maxRange ) { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); } } break; } case MP_RM_FARM_LOG_SIZE_ACK: { const MSG_DWORD* m = ( MSG_DWORD* )message; const DWORD size = m->dwData; CString text; text.Format( _T( "0/%d" ), size ); resultStatic.SetWindowText( text ); progressCtrl.SetRange32( 0, size ); progressCtrl.SetPos( 0 ); findButton.EnableWindow( FALSE ); stopButton.EnableWindow( TRUE ); listCtrl.DeleteAllItems(); break; } case MP_RM_FARM_LOG_SIZE_NACK: { CString textThereIsNoResult; textThereIsNoResult.LoadString( IDS_STRING1 ); MessageBox( 0, textThereIsNoResult, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_FARM_LOG_STOP_ACK: { findButton.EnableWindow( TRUE ); stopButton.EnableWindow( FALSE ); CString textSearchWasStopped; textSearchWasStopped.LoadString( IDS_STRING2 ); MessageBox( 0, textSearchWasStopped, _T( "" ), MB_ICONERROR | MB_OK ); break; } case MP_RM_FARM_LOG_NACK_BY_AUTH: { CString textYouHaveNoAuthority; textYouHaveNoAuthority.LoadString( IDS_STRING18 ); MessageBox( 0, textYouHaveNoAuthority, _T( "" ), MB_OK | MB_ICONERROR ); break; } default: { ASSERT( 0 ); break; } } }
void CTransferDlg::SetFileProgress(int nPercent) { CProgressCtrl* pProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_FILE); pProgress->SetPos(nPercent); }
BOOL CBaseDlg::OnInitDialog() { //CDialog::OnInitDialog(); if (m_hIcon) { SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 } m_bInit = TRUE; for (int i = 0; i < m_vecCtrl.size(); i++) { switch (m_vecCtrl[i].type) { case BASE_BUTTON: case BASE_CHECK_BUTTON: { CButton* pCtrl = (CButton*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_COMMOM_BUTTON: { CCommonButton* pCtrl = (CCommonButton*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_STATIC: { CStatic* pCtrl = (CStatic*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_MY_CHECK_BUTTON: { CMyCheckButton* pCtrl = (CMyCheckButton*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_INDICATOR: { CIndicator* pCtrl = (CIndicator*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_GROUPBOX: { CGroupBox* pCtrl = (CGroupBox*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_EDIT_CSTRING: case BASE_EDIT_DOUBLE: { CEdit* pCtrl = (CEdit*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); break; } case BASE_COLOR_TEXT: { CColorText* pCtrl = (CColorText*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); break; } case BASE_DRAWVIEW: { CDrawView* pCtrl = (CDrawView*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); break; } case BASE_LIST: { CListCtrl* pCtrl = (CListCtrl*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); break; } case BASE_TABVIEW: { CTabViewCtrl* pCtrl = (CTabViewCtrl*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); break; } case BASE_GRADIENT_BACKGROUND: { CGradientBackground* pCtrl = (CGradientBackground*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); break; } case BASE_COMBOBOX: { CComboBox* pCtrl = (CComboBox*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); pCtrl->SetFont(&mFont); CString caption = m_vecCtrl[i].sCaption; for (int j = 0; j < m_vecCtrl[i].nDataCount; j++) { int endpos = caption.Find(L"\n"); CString item = caption.Mid(0, endpos); pCtrl->AddString(item); caption = caption.Right(caption.GetLength()-endpos-1); } pCtrl->SetCurSel(0); break; } case BASE_PROGRESS: { CProgressCtrl* pCtrl = (CProgressCtrl*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); if (m_vecCtrl[i].pInOutData != NULL) { pCtrl->SetRange32((int)m_vecCtrl[i].dMinVal,(int)m_vecCtrl[i].dMaxVal); } break; } case BASE_SLIDER: { CSliderCtrl* pCtrl = (CSliderCtrl*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); if (m_vecCtrl[i].pInOutData != NULL) { pCtrl->SetRangeMax((int)m_vecCtrl[i].dMaxVal); pCtrl->SetRangeMin((int)m_vecCtrl[i].dMinVal); } break; } case BASE_SLIDER_GROUP: { CSliderGroup* pCtrl = (CSliderGroup*)m_vecCtrl[i].pCtrl; pCtrl->Create(m_vecCtrl[i].sCaption, m_vecCtrl[i].dwStyle, m_vecCtrl[i].rect, m_vecCtrl[i].pParent, m_vecCtrl[i].nID); if (m_vecCtrl[i].pInOutData!=NULL) { pCtrl->GetSlider()->SetRangeMax((int)m_vecCtrl[i].dMaxVal); pCtrl->GetSlider()->SetRangeMin((int)m_vecCtrl[i].dMinVal); } break; } default: break; } } UpdateData(FALSE); return TRUE; }
void CTransferDlg::SetTotalProgress(int nPercent) { CProgressCtrl* pProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_TOTAL); pProgress->SetPos(nPercent); }
void CWaterCheckDlg::Watermark_Thread() { CProgressCtrl *pProgCtrl = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_CHECK); pProgCtrl->SetRange(0, 1000); pProgCtrl->SetPos(0); PLAY_SetStreamOpenMode( WATERMARK_PORT, STREAME_FILE); PLAY_OpenStream(WATERMARK_PORT, NULL, 0, 1024 * 100); PLAY_SetDecCallBack(WATERMARK_PORT, MediaDecCBFun); PLAY_SetDecCBStream(WATERMARK_PORT, 3); if (!PLAY_Play(WATERMARK_PORT, NULL)) { PLAY_CloseStream(WATERMARK_PORT); } PLAY_SetWaterMarkCallBackEx(WATERMARK_PORT, CBWaterMarkFuncEx, (long)this); CFile SourceFile; if ( !SourceFile.Open(m_csFilePath, CFile::modeRead | CFile::shareDenyNone) ) { PLAY_Stop(WATERMARK_PORT); PLAY_CloseStream(WATERMARK_PORT); } DWORD dwFileLen = SourceFile.GetLength(); const int BUFLEN = 8 * 1024; BYTE InfoBuf[BUFLEN]; DWORD nRead; DWORD dwCurPos = 0; try { while (m_bCheckEnable) { memset(InfoBuf, 0, sizeof(InfoBuf)); nRead = SourceFile.Read(InfoBuf, BUFLEN); if (nRead <= 0) { break; } dwCurPos += nRead; while (m_bCheckEnable && !PLAY_InputData( WATERMARK_PORT, InfoBuf, nRead))//阻塞为false { Sleep(5); } double fpress = (double)dwCurPos/(double)dwFileLen; int iProgressPos = (int)(fpress*1000.0); if (m_bCheckEnable) pProgCtrl->SetPos(iProgressPos); } } catch (CException* e) { PLAY_Stop(WATERMARK_PORT); PLAY_CloseStream(WATERMARK_PORT); SourceFile.Close(); e->Delete(); } while (m_bCheckEnable && !(PLAY_GetSourceBufferRemain(WATERMARK_PORT) == 0)) { //解码结束, number=0时,解码出来的数据都已显示或回调完全 //number < num时,解码基本完成 while (m_bCheckEnable && PLAY_GetSourceBufferRemain(WATERMARK_PORT) > 0) { if (PLAY_GetBufferValue(WATERMARK_PORT, BUF_VIDEO_RENDER) < 1) { //解码结束的相关操作 Sleep(5); break; } else { Sleep(10); } } } pProgCtrl->SetPos(1000); PLAY_Stop(WATERMARK_PORT); PLAY_CloseStream(WATERMARK_PORT); SourceFile.Close(); if (m_bCheckEnable) { MessageBox("Watermark Check Complete!!"); m_bCheckEnable = FALSE; GetDlgItem(IDC_BUTTON_CHECK)->SetWindowText("check"); } pProgCtrl->SetPos(0); }
void CMainFrame::OnBnClickedButton1() { CProgressCtrl* progress = (CProgressCtrl*) m_wndDlgBar.GetDlgItem(IDC_PROGRESS1); progress->StepIt(); }