www.pudn.com > ViewerCarry.rar > bak_UpdateDlg.cpp


// UpdateDlg.cpp : implementation file 
// 
#include "stdafx.h" 
#include "thumbviewer.h" 
#include "UpdateDlg.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
HWND  g_hDlgWnd; 
///////////////////////////////////////////////////////////////////////////// 
// CUpdateDlg dialog 
 
 
CUpdateDlg::CUpdateDlg(CWnd* pParent /*=NULL*/) 
	: CDialog(CUpdateDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CUpdateDlg) 
	m_sUpdateImage = _T(""); 
	//}}AFX_DATA_INIT 
	//m_nTimeTotal = 0; 
} 
 
 
void CUpdateDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CUpdateDlg) 
	DDX_Control(pDX, IDC_TOTALFILE_PROG, m_stTotalProgess); 
	DDX_Text(pDX, IDC_UPDATE_STATIC, m_sUpdateImage); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CUpdateDlg, CDialog) 
	//{{AFX_MSG_MAP(CUpdateDlg) 
	ON_WM_TIMER() 
	ON_BN_CLICKED(ID_CANCEL_FILEUPDATE, OnCancelFileupdate) 
	ON_MESSAGE(WM_FILE_UPDATE,  OnFileUpdateMsg) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CUpdateDlg message handlers 
 
BOOL CUpdateDlg::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	// TODO: Add extra initialization here 
	m_stTotalProgess.SetRange(0,MAX_FILENUM); 
	m_stTotalProgess.SetPos(0); 
	g_hDlgWnd=this->GetSafeHwnd(); 
	//SetTimer(1,5,NULL);//上传文件的进度条要准确,必须自己准备消息函数,由 
	//SOCKET每发送完一个文件,调用一次自定的消息 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
} 
// 
void CUpdateDlg::OnTimer(UINT nIDEvent)  
{ 
	//TODO: Add your message handler code here and/or call default 
	/* 
	GetDlgItem(IDC_UPDATE_STATIC)->SetWindowText("New   string"); 
	if(m_nTimeSingle < MAX_FILENUM) 
	{ 
        m_nTimeSingle++;//一个文件上传完成后要设置为0	   
		m_stSingleFileProgress.SetPos(m_nTimeSingle);//设置单文件上传的进度条 
	} 
	else 
	{ 
	    //m_nTimeSingle = 0;  
	} 
	if(m_nTimeTotal < MAX_TIME_STEP) 
	{ 
	    m_nTimeTotal++;//所有文件上传完毕后要设置为0 
		m_stTotalProgess.SetPos(m_nTimeTotal);//设置所有文件上传的进度条 
	} 
	CDialog::OnTimer(nIDEvent);*/ 
	 
} 
//终止文件上传 
void CUpdateDlg::OnCancelFileupdate()  
{ 
	// TODO: Add your control notification handler code here 
	CMainFrame* pFrame=(CMainFrame*)AfxGetMainWnd(); 
	CThumbViewerView* pView=(CThumbViewerView*)pFrame->GetActiveView(); 
	pView->TerminateUpdateFileThread();//终止文件上传线程 
} 
//自定义消息的进度条 
LONG CUpdateDlg::OnFileUpdateMsg(UINT wParam, LONG lParam) 
{ 
   	//TODO: Add your message handler code here and/or call default 
	char *szMsg=(char *)wParam; 
	int nStep= (int)lParam; 
	GetDlgItem(IDC_UPDATE_STATIC)->SetWindowText(szMsg); 
	if(nStep < MAX_FILENUM) 
	{ 
        //m_nTimeSingle++;//一个文件上传完成后要设置为0	   
		m_stTotalProgess.SetPos(nStep);//设置单文件上传的进度条 
	} 
	else 
	{ 
		m_stTotalProgess.SetPos(MAX_FILENUM);//设置单文件上传的进度条 
	} 
	return 1; 
}