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;
}