Example #1
0
// 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);
}
Example #3
0
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;
}
Example #4
0
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);
			}
		}		
	}
}
Example #5
0
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;
}
Example #6
0
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);
}
Example #7
0
void CMainFrame::OnBnClickedButton2()
{
    CProgressCtrl* progress = (CProgressCtrl*) m_wndDlgBar.GetDlgItem(IDC_PROGRESS1);
    int pos = progress->GetPos() - 10;
    if (pos < 0)
        pos = 0;
    progress->SetPos(pos);
}
Example #8
0
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;
	}
}
Example #10
0
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);
  }
}
Example #11
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;
}
Example #13
0
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);
	}
}
Example #14
0
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;  
}
Example #16
0
/////////////////////////////////////////////////////////////////////////////
// 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);
}
Example #18
0
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();
}
Example #19
0
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
}
Example #20
0
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();
}
Example #21
0
//
// 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;
}
Example #22
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;
    }
    }
}
Example #24
0
int ShowProgress(LPCTSTR pName, float fPencent)
{
	g_ProgressName.SetWindowText(pName);
	g_ProgressProgress.SetPos((int)(fPencent * 100));
	return 0;
}
Example #25
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;
		}
	}
}
Example #26
0
void CTransferDlg::SetFileProgress(int nPercent)
{
	CProgressCtrl* pProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_FILE);
	pProgress->SetPos(nPercent);
}
Example #27
0
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;
}
Example #28
0
void CTransferDlg::SetTotalProgress(int nPercent)
{
	CProgressCtrl* pProgress = (CProgressCtrl*)GetDlgItem(IDC_PROGRESS_TOTAL);
	pProgress->SetPos(nPercent);
}
Example #29
0
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);
}
Example #30
0
void CMainFrame::OnBnClickedButton1()
{
    CProgressCtrl* progress = (CProgressCtrl*) m_wndDlgBar.GetDlgItem(IDC_PROGRESS1);
    progress->StepIt();
}